Taro Logo

Software Engineer Interview Experience

June 1, 2015
Neutral ExperienceNo Offer

Process

A recruiter contacted me and we set up a phone interview.

I was informed there would be two interviewers, but only one showed up. I'm not sure if the other interviewer was on mute, as his LinkedIn profile suggested he was new to the platform.

The interviewer's body language revealed a lot. He seemed to be trying to be nice, but it didn't feel genuine. He asked about my skill set and then moved to the technical part. The first 35-40 minutes focused on C++ and multithreading questions, followed by a coding question for the last 20 minutes. The interview lasted for an hour.

It took me about 5-10 minutes to understand the coding question, primarily because there were already about 30 lines of code pasted into CollabEdit. When I tried to ask a clarifying question, I was told there was nothing to ask and everything was on CollabEdit. I'll let you guess his attitude. I explained my pseudocode before coding, and he seemed happy with it. I was almost done with the solution by the end of the hour, but I guess that doesn't count. He did not give me a chance to ask my questions.

To summarize, many reviews on Glassdoor mention repeated questions. That wasn't the case for me, so please be prepared completely and don't rely solely on Glassdoor. Instead, practice on LeetCode, HackerRank, GeeksforGeeks, and CareerCup. As for books, 'Cracking the Coding Interview' is awesome!

It hasn't even been a full day, so I haven't heard back from the recruiter yet, but I'm not expecting a good result.

Questions

  1. What is a mutex? What is a semaphore?

  2. What is virtual memory? What is paging? Why is it required to swap pages?

  3. What is a virtual destructor? (Explain with some code).

  4. The code was pasted in Collabedit. It's an easy problem to solve, but only if you understand the problem in 5 minutes. I had about 20 minutes in total. (You might see the interviewer has mixed Java and C++. There is no public/private access specifier. The Integer class is only in Java. Coding standards are according to Java specifications, but I guess you get the point of the question, so that's not a problem).

java /**

  • Given a nested list of integers, returns the sum of all integers in the list weighted by their depth.
  • For example, given the list {{1,1},2,{1,1}}, the function should return 10 (four 1's at depth 2, one 2 at depth 1).
  • Given the list {1,{4,{6}}}, the function should return 27 (one 1 at depth 1, one 4 at depth 2, and one 6 at depth 3). */ int depthSum (NestedInteger *input, int count) {}

java /**

  • This is the interface that represents nested lists.

  • You should not implement it, or speculate about its implementation. / class NestedInteger { /* @return true if this NestedInteger holds a single integer, rather than a nested list */ boolean isInteger();

    /** @return the single integer that this NestedInteger holds, if it holds a single integer

    • Return null if this NestedInteger holds a nested list */ Integer getInteger();

    /** @return the nested list that this NestedInteger holds, if it holds a nested list

    • Return null if this NestedInteger holds a single integer */ NestedInteger *getList(); int getCount(); }

Was this helpful?

Interview Statistics

The following metrics were computed from 285 interview experiences for the LinkedIn Software Engineer role in United States.

Success Rate

16%
Pass Rate

LinkedIn's interview process for their Software Engineer roles in the United States is very selective, failing most engineers who go through it.

Experience Rating

Positive49%
Neutral26%
Negative26%

Candidates reported having good feelings for LinkedIn's Software Engineer interview process in United States.

LinkedIn Work Experiences