Glassdoor is your free inside look at LinkedIn Software Engineer - Applications interview questions and advice. All 4 interview reviews posted anonymously by LinkedIn employees and interview candidates.
No Offer – Interviewed in Mountain View, CA Jul 2012 – Reviewed Jul 31, 2012
Interview Details –
Visited a friend at their Mountain View campus for free lunch, and got contacted soon by a recruiter after passing along my resume. The recruiter sent links in an e-mail to resources that help you prepare for CS fundamentals, including the 'How to hack a Google interview' pamphlets. Quickly scheduled and went through just one technical phone screen, where I had to write code using CollabEdit and talked on Skype.
There were 2 questions: interviewer pasted a function signature for 'double pow(double a, int b)' and I had to write the body. That was pretty easy, but you do have to know the fast exp algorithm. The other question was implementing 'double rpn(List<String> ops)' to compute some result using RPN. This was also very easy (using a stack), but do watch out for edge conditions and handle exceptions.
Got confirmation for onsite interview after 2 days, and gave myself a week preparation time before meeting for 1:1 interviews (actually, there's a main interviewer who does 90% of the talking, but is often accompanied by a trainee) by 6 pairs, covering the areas: technical presentation, 3 algorithmic programming problems, 1 system design problem.
The first interviewer walked me to lunch and chatted about my work history--nothing technical. Just make sure you have rehearsed lines about your accomplishments, and be enthusiastic. The following 3 interviews (in 3 hours) were all on programming. The first one is fairly short: implement 'int intersect(int x, int y)' given 2 sorted int arrays, and provide the big-O for your best solution. The key here is to think through the problem (but talk so they don't think you're stuck and idling), then write on the write board.
The interview room was only around 8'x6', with a small round table and 3 stools, and a full wall of whiteboard. The hardest part, unless you're already familiar with the drill common to top Silicon Valley companies, is writing code on the whiteboard where it's difficult to add and delete lines, such as when you need to declare a new variable half-way down the board. There were 3 panes, and for some questions I had to switch back and forth, which likely confused me when I was wiping lines with my hand and adding ugly arrows to insert lines (instead of erasing already crafted lines), and messing up indentation. You get the idea. I understand that good whiteboard presentation with clearly legible writing is important, but I wished that wasn't tackled on as you're trying to solve a tough coding problem. One of the interviewers pulled out his phone and took a photo of the whiteboard of one of my least proudest work (I'm usually known as an anally clean coder).
The system design question seemed hardest as I got stuck on trying to use more complex structures than was probably necessary, like load-balanced message queues, distributed hashmaps of sorted structs containing 5 URLs and their timestamps, and using LRU methods to GC the old data. I had to ask for a hint, but that likely sealed my fate. The better, but certainly not the only, solution would be to use buckets of a fixed time interval. Seems easy, but often times the bad ideas just won't go away when under pressure.
In the final session, the interviewer asked me to pick my favorite project and describe the design in detail. Actually, the paraphrased question was 'you just hired a new developer on this project, how would you get him/her up to speed on developing this new feature'. I described a bit about project and release management logistics, but they were more interested in hearing about and seeing class diagrams, module, component, and network topologies. Finally, the question that threw me off a bit was (since the project I described happened 10 years ago): how would you modernize the project for 2012? What different components or approaches would use and why?
One thing that I reacted negatively to was all the interviewers were scheduled to arrive at the room on their assigned hour, and since the first one was late by over 10 minutes, most of the sessions ran past their hour slot with next interviewers opening the door and interrupting my thought process, only to be told 'can we have 5 more minutes?' and having the interviewers standing up and nodding nodding, basically saying 'alright, just wrap it up'.
I waited 2 full days before being e-mailed about the rejection--no personal call unless you've made it past the gate, I suppose.
Accepted Offer – Interviewed in Mountain View, CA Jun 2012 – Reviewed Aug 1, 2012
Interview Details –
I was originally contacted by one of their technical recruiters. I'm not on the west coast, so he asked if I'd be open to relocating for 'the right opportunity.' I had two rounds of phone screens using Collabedit; they weren't overly difficult. One was more algorithm/data structure oriented, the other involved some core Java threading concepts and basic architectural design.
I apparently did well on the phone screens, and was flown out for an on site interview. Like others have mentioned it consisted of 5-6 rounds with pairs of interviewers and lunch. For some reason most of what I'd guess were the 'junior' interviewers didn't show up though they had been on the schedule, so most of my conversations were 1-1 instead of 2-1. The interviews were all technical except for one with someone who was a manager which was more of a general 'how would you solve this problem' question which involved whiteboarding out a high level architecture/control flow. The rest of the questions were pretty standard large tech company interview fare, though I was pleasantly surprised that there were a few open ended design questions for decent sized systems, and one asking me to explain the architecture of a project I'd been working on. It's nice to not be grilled for six hours about CS minutia that you will never use day to day and talk about some more real world problems.
All in all I had a very positive interview experience except for with one interviewer. I had choked at one point while trying to write an iterative version of a recursive method I wrote to solve a problem. For the rest of the interview I felt a little 'off' answering the rest of his questions, and felt that there wasn't good communication between the two of us, or I just wasn't asking the right questions for clarification. He cut the interview short because we'd run out of time and we grabbed lunch. During lunch we had a good chat about the company and random other casual topics. As I noticed that the lunch time was wrapping up I asked if we could circle back to his earlier questions that I had been struggling with because I wanted to understand the problem better and figure out what he was probing for. His response to that was the only mark against the whole interview process I'd give. He said something about answers ending up on glassdoor and other interview sites and wanting to prevent that. I didn't feel like that was an appropriate response. Am I more likely to post the answer or problem because I didn't nail it during the interview? If I'd passed his section with flying colors he wouldn't be asking me not to post anything. On one hand I understand his frustration because having interviewed probably close to 100 applicants over 5-6 years some of my problems have ended up here on glassdoor (notice that I haven't posted any problem specifics; sorry memorizers). On the other hand it's usually easy to tell if someone has prior knowledge of the problem and to throw some twists in to change things up. Being interested in the problems he'd presented I just wanted to find out if I wasn't understanding the problem, the communication wasn't good, or something else.
After flying home I didn't think I'd be getting an offer from them since I'd choked on one section of the interview. A few days later I heard back from the recruiter that the initial feedback from the interview team had been good, which surprised me a bit. I received an offer from them shortly afterwards. The whole process from initial contact to final offer took almost three months, but I wasn't actively looking for a new opportunity, and wasn't in a hurry because I had a cross country move and a lot of baggage to shed before starting with them.
Interview Question – Write an iterative version of a recursive function. Yes, it sounds basic, and yes it's easy to do for many problems (tree walking, Fibonacci series, etc). This wasn't one of the straightforward cases. Answer Question
Negotiation Details – The initial offer was good, but not good enough to make me move across the country into a city with a higher cost of living. It wasn't 'the right opportunity' as the original recruiter had framed things. I communicated that back to them and gave a little more context about my current living and family situation. I thought that'd be the end of it, but they asked what changes to the offer would make it worth it for me. I came back with a response that they didn't match exactly; they adjusted many aspects of the offer (base, bonus, equity) and came up with something that is arguably better than what I was asking for. I accepted the adjusted offer.
No Offer – Interviewed in Mountain View, CA Jun 2012 – Reviewed Jul 13, 2012
Interview Details – I was contacted by one of the LinkedIn recruiters based on my LinkedIn profile. The recruiter arranged for a phone interview. I was invited for an on-site interview a few days after the phone interview. The decision not to hire me was conveyed by phone within a week of on-site interview.
Interview Question –
1. Given a paragraph and line length, write a routine to justify words in the paragraph.
2. Write a routine to find all collinear points in a plane. Constraint: The time complexity cannot be greater than O(n^2). Answer Question
No Offer – Interviewed in Apr 2012 – Reviewed May 14, 2012
Interview Details –
A company recruiter had contacted me to check out my interests and asked for update resume. After hearing back they want to schedule a phone interview, there were three different people involved in the scheduling process that I felt a bit chaotic.
The phone interview requires computer access that they will ask you to code through an online collaboration tool.
As for onsite, in addition to coding, data structure, and algo stuff, they will also evaluate your communication skill (i.e. pretend I am a new hire, how do you ramp me up)
Interview Question – How u would build a site providing url shortening service. View Answer
Your feedback has been sent to the team and we'll look into it.
The difficulty rating is the average interview difficulty rating across all interview candidates.
The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.
Your response will be removed from the review – this cannot be undone.
Simply post an anonymous review for a recent interview experience or current/former employer. Your post is anonymous – and if you're worried someone will be able to identify your review, you can even post without telling us your job title and location. Learn More.
No thanks –