# Software Engineer III Interview Questions

Software engineer iii interview questions shared by candidates

## Top Interview Questions

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. 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). |

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? |

write a wrapper fun for 32-byte aligned mem allocation |

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. |

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

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. |

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

Design the recommendations list for amazon webpage. |

In depth question on interrupt handling by linux kernel |

**1**–

**10**of

**155**Interview Questions

## See Interview Questions for Similar Jobs

- Software Engineer
- Software Development Engineer II
- Senior Software Engineer
- Software Development Engineer
- Senior Software Development Engineer
- Software Engineer III
- Software Development Engineer I
- Principal Software Engineer
- Software Development Manager
- Director
- Staff Software Engineer
- Software Developer
- Software Engineer IV
- Senior Manager
- Software Development Manager III
- Software Engineer V
- Product Manager
- Senior Product Manager
- Principal Engineer