Pretty standard process - recruiter call followed by Phone Screen and On Site interview of around 4-5 rounds. Algorithms, System Design, Technical Communication, Hiring Manager round with a lunch meeting with one of their engineers to learn more about the culture.
Interview questions [1]
Question 1
Binary tree serialize and deserialize, Flatten Linked List, Find LCA , Generate Permutations and Calendar scheduling problem.
Design url shortening service.
I applied through a recruiter. The process took 3 weeks. I interviewed at LinkedIn (Sunnyvale, CA) in Mar 2018
Interview
The process was smooth and it was a very positive experience. The phone screen had 2 coding questions (Leetcode easy). This was followed by the onsite, which had 5 rounds.
Round #1: Behavioral - with a hiring manager (not necessarily the one you may get an offer from)
Round #2: System design
Round #3: Technical deep dive - You get to talk about some project of yours in detail, without violating your NDA of course
Lunch: Also behavioral round.
Round #4: Coding
Round #5: Coding
The interviewers were nice and not intimidating. You can genuinely feel the positive vibe in the company. What I liked was the detailed feedback I received at the end which clearly mentioned that even though I had done well, more was expected from me as a senior engineer especially in the system design round. I was able to apply that feedback for subsequent interviews.
Interview questions [1]
Question 1
Two-Sum
Maximum Sub array
All Permutations of a list of numbers
Some version of the graph coloring problem (with some cost aspects and the objects are in a straight line) - Involved backtracking
I applied through a recruiter. The process took 2 weeks. I interviewed at LinkedIn (Sunnyvale, CA) in May 2018
Interview
One phone screen with two people where they asked 3 questions. This was a very positive experience and I hoped that(short and intelligent algorithms) should be the way to test your coding skills rather than a twisted integer permutation algorithm.
I was invited onsite and had to talk to 6 interviewers with two algorithms rounds. I did well in technical communication, system design, culture fit & team interaction rounds. Algo rounds are pretty confusing. One of the interviewers asked about how to find a squareroot of a given number and I came up with a couple of O(log n) solutions and picked the correct one and coded for it. He corrected few buggy lines and I think I made a positive impression. I am satisfied with this interviewer. But my second interview was pretty weird. Question was incomplete. We kept on changing the inputs whenever he felt like he missed to cover a case. I was so confused and by his last fill in the blanks of his own question finally I was clear on what he wants as the output. The solution is a loop of twisted integer permutations. As I was giving him my thoughts on the solution he kind of drove me to the solution which is to create N number of trees with integer permutations. It's a load balancer algorithm. I did my best to write down pseudo code for this algorithm as I didn't have enough time to code for this. I kind of wrote the string permutations algorithm and tried to modify it to the needs of this solution. Not sure how he accessed my skills by it. He barely has a couple of years of experience so I might not have made the cut if he made an academic level assessment of my solution. Still waiting to hear from the team but I am worried now about that final algo round otherwise an excellent interview process.
Given an array break it down into k subsets with each subset's sum equaling a constant M. For e.g. [4, 2, 1, 3, 2, 3, 5] and k=4 you should return true because that whole array can be broken down into {4,1}, {2,3}, {2,3}, {5} which equal to a sum of 5. Imagine how confused you would be if you are thinking on a solution and he forgot that last integer 5 in that array for about 10 minutes.