Software Engineer III Interview Questions | Glassdoor

Software Engineer III Interview Questions

148

Software engineer iii interview questions shared by candidates

Top Interview Questions

Sort: RelevancePopular Date

Telephone interview: Find largest integer from an array of integers. The integers in the array are arranged in strictly increasing (no 2 integers are same) or strictly increasing then decreasing; so like a curve and you have to find the peak. Discuss time complexity. Write code.

3 Answers

Binary search

First, binary search will not work since just looking at a single point will not tell you if it's on the decreasing or increasing side of the curve. What you need is modified binary search. Looking at position i check position i+1 if it's increasing then search right otherwise search left; Code: int peak(vector V, int i, int iStart, int iEnd){ assert( i >= 0 && i = 0 && iStart = 0 && iEnd < V.size()); assert( iStart <= i && i <= iEnd ); if (i == iEnd) return i; int iCurr = V[i]; int iNext = V[i+1]; int iStartNew = iStart; int iEndNew = iEndl if( iCurr < iNext ) iStartNew = i; else iEndNew = i; int iNew = (iEndNew-iStartNew)/2; if( iNew == i ) iNew++; return peak(V, iNew, iStartNew, iEndNew); }

The question is a variation of the commonly asked problem of finding the start/end index of a sorted array that has been rotated. Takes O(log n) time.

First phone screen: Print all the nodes of a tree in reverse level order (ie print all the nodes at the leaves first, then print the nodes on the level above the leaves, and then eventually work your way to the top).

4 Answers

Suppose you have a C++ base class and several classes that inherit from it. What might happen if you do not write a virtual destructor for the base class?

2 Answers

write a wrapper fun for 32-byte aligned mem allocation

2 Answers

I was asked a boolean logic riddle: You are walking and arrive at a dead end with 2 doors. You must get past this, but you are told that only one door is correct, leading you on your path and the other door is not correct and leads to something perilous. In front of each door is a guard. One guard always tells the truth and the other always lies. You may ask one of the guards one question, and then you must pick your door and go through it. What question do you ask, which door do you pick based on the answer, and why? This is actually not that hard once you realize that it's a boolean algebra problem, but I was surprised that I was asked that question.

1 Answer

Oral exam by 3 people. One asked how I would troubleshoot a catastrophic failure. No specifics given.

1 Answer

In Person with 4 people (~45min each): 1. Check if binary tree A is contained in binary tree B. Write code on paper. 2. Derive a formula for calculating the angle between the hour hand and minute hand in a clock. 3. Design a parking lot. Discuss what data structures to use.

1 Answer

What is the chance that two dogs have the same number of hairs.

1 Answer

Design the recommendations list for amazon webpage.

1 Answer

In depth question on interrupt handling by linux kernel

1 Answer
110 of 148 Interview Questions