Software engineers write programs to design and develop computer software. Interviews are highly technical, so come ready to work through coding problems and maths brainteasers. The specific questions you are asked will depend on what type of programming position you are looking for. Try researching a specific software discipline such as web development, application development or system development.

452,561 Software Engineer interview questions shared by candidates

Here are three top software engineer interview questions and tips on how to answer them:

How to answer: When answering a question about your process or life cycle for software development and engineering, it is helpful to consider every step, beginning with obtaining the requirements for the end product. Include as much detail as possible to help the interviewer learn more about any work you have done as a software engineer and how you handle a task to show your ability to tackle a project from start to finish.

How to answer: An interviewer will want to know which programming languages you are familiar with as well as which languages you prefer. This question does not necessarily have a right or wrong answer, but it does provide insights into your capabilities and coding expertise. If the job listing for which you are interviewing includes specific language knowledge preferences, make sure you include them when outlining the software languages you know.

How to answer: When describing your success with a past project, it is helpful to identify aspects of the project that went well and detail the different task list elements. You can describe the team you worked with on the project, how you managed your time and how you specifically contributed to the project.

Financial Software Developer was asked...15 February 2010

↳

Seems to me the correct answer is five. Assuming that each horse's performance is timed, by running five races with five horses each, you'll know the speed of all 25 horses. The three with the shortest times are the three fastest horses. Most responses assume you need multiple rounds, but these responses seem to assume that the five horses that finish first in the first round are the fastest five overall. That may not be the case. Just because a horse beat its four competitors doesn't mean it's one of the five fastest overall ... just that it was faster than the four it competed against. Less

↳

7 races. We run five races with five horses. The five winners race in a sixth race while the 4th and fith place finishers are eliminated from further consideration. The sixth race show horse is faster than all the horses that participated in the preliminary races where the 4th and 5th place horses participated and they are eliminated from further consideration. The other horses in the preliminary race where the 6th race show horse participated are also eliminated. The show horse in the preliminary race where the 6th race place horse participated is eliminated since there are at least three remaining horses that are faster. We are left with 6 horses. We know the winner of the 6th race is fastest overall, so that leaves five horses to enter a 7th race for the overall place and show. Less

↳

12 RACES ARE REQUIRED -------------------------------------- In the worst case scenario the 'best three' can be from a single team of 5 horses. So 5 races in round one. Chose all the first three of each of the 5 races. 3 races of all the 15 horses which were the 3 winners of the first round. Chose the 9 horses which were winners in round two and have 2 races for the 9 winners[ 5 & 4 horses] you get 6 winners. 1 race of 5 horses, out of the 6 round three winners, keeping one standby 1 race of 4 horses of round four winners with the standby. This will give you the best 3 horses out of 25 So you need to have 5+3+2+1+1 = 12 races in order to get the best three horses. Answer 12 races required. Sometimes the 2nd and/or 3rd best athlete do not get selected if they are teamed in a race along with the best athlete. Less

Software Engineer II was asked...19 June 2014

↳

Actually the answer is zero. Plans fly, people don't.

↳

Roughly as many who flew into Chicago.

↳

oops - typo - Planes fly, people don't

Financial Software Developer was asked...17 May 2010

↳

Never....the frog would be dead by day 10 since nothing to eat or drink.

↳

Assuming it doesn't die of starvation, the answer is 28 days.* start of day 1 (0 days elapsed): 0m --> 3m (then falls back 2m by start of day 2) start of day 2 (1 day elapsed): 1m --> 4m start of day 3 (2 days elapsed): 2m --> 5m ... start of day 28 (27 days elapsed): 27m --> 30m start of day 29 (28 days elapsed): 28m --> 31m In other words, 28 days will have elapsed before the frog can jump to a height exceeding 30m.* * This answer assumes the frog is not able to walk away after it hits 30m. I would assume it has no energy left to climb out based on the problem description. If the questioner disagrees with this assumption, then the answer is 27 days. Less

↳

I agree -- it's 28...because on that morning, he'll be at 27 metres and he can jump to the top in one bound. Less

Software Developer was asked...20 February 2012

↳

30+25=55 angle between them...

↳

You know that there is 30 degrees between each number on the clock because 360/12 = 30. You know that the minute hand is at exactly 10, while you know that the hour hand is 5/6th of the way to the 12 (from the 11) because 50/60 = 5/6. Therefore to get the total angle, you must add the 30 degrees from the 10 to 11 plus the 5/6 distance from 11 to 12, and you get 30 degrees + (5/6 * 30) = 30 + 25 = 55 degrees. So the final answer is 55 degrees. Less

↳

Anonymous is on the right track with the hour hand going 0.5 degree/minute, but at 11:50 the hour hand is no longer near the 11, it's near the 12. 10 minutes before 12, it is 5 degrees from the 12. The minute hand is 60 degrees from the 12 in the same direction (360 deg=60 minutes, so 60 deg=10 minutes). Angle between the hands is the difference between these two: 60-5 = 55. Less

Software Engineer Intern was asked...28 July 2009

↳

Two. Split into three groups of three, three, and two. weigh the two groups of three against each other. If equal, weigh the group of two to find the heavier. If one group of three is heavier pick two of the three and compare them to find the heaviest. Less

↳

2 3a+3b+2 = 8 if wt(3a)==wt(3b) then compare the remaining 2 to find the heaviest if wt(3a) !== wt(3b) then ignore group of 2 discard lighter group of 3 divide the remaining group of 3 into 2+1 weigh those 2 If == the remaing 1 is the heaviest if !== the heaviest will be on the scale Less

↳

2 weighings to find the slightly heavier ball. Step 1. compare 2 groups of three balls. Case 1. if they are both equal in weight, compare the last 2 balls - one will be heavier. case 2. If either group of 3 balls is heavier, take 2 balls from the heavier side. compare 1 ball against the 2nd from the heavy group result 1. if one ball is heavier than the other, you have found the slightly heavier ball. result 2. if both balls are equal weight, the 3rd ball is the slightly heavier ball. Easy Shmeezi Less

Software Engineer was asked...23 April 2010

↳

Not quite. The volume of the water is not the same as the weight of the elephant. You'd have to estimate the density of an elephant and multiply that by the volume of the water to get the mass, then multiply that by the acceleration due to gravity in water system (SI, English Customary, etc.) you're using. Luckily, mammals are mostly water (humans are around 70% water on average), so about 2/3 of the weight of the elephant would be equivalent to the weight of the water displaced. So you would have to estimate how dense the rest of the elephant is (since it'd be minerals and such, I'd say it's more dense than water) and follow the steps described above. Less

↳

As it is not specified that the International System of Units must be used, define the Elephant unit (E) as the weight of your elephant. Your elephant then weights exactly 1E. Less

↳

Simple answer : Use a beam balance . Put elephant on one side and start throwing weights on the other side . When the beam is balanced you got the weight of the elephant equal to the sum of weights on the other ! Less

Software Engineer was asked...6 June 2016

↳

For some questions answers are posted in glassdoor!

↳

Hi . Did they inform about results till now?

↳

Hi ..Yes i got the offer!

Junior Java Developer was asked...10 January 2018

↳

please let me know if anyone got Job

↳

36. If you get call then follow this interview experience

↳

How many of you waiting after 3rd round

Software Engineer was asked...18 March 2009

↳

Actually, 16 is not the optimal, nor is 15; you can do it in 14. Here is one solution (there are at least 5 other equivalents): * Drop first bulb at 14th, 27th, 39th, 50th, 60th, 69th, 78th, 85th, 91st, 96th, and (optionally) 100th until it breaks. * Go to the highest floor where the first bulb didn't break. * Repeatedly go up one floor and drop the second bulb. When it breaks, you have your answer. Why is 14 optimal? Since you are decrementing each time, you want (n) such that sum(1..n) barely reaches 100. The answer is n=14. Generally, if the number of floors is (f), the lowest number of drops is ceil((sqrt(8*f+1)-1)/2). This is the best worst-case scenario. An interesting related question is what gives the lowest expected number of drops. And no, I could not have gotten this in an interview. Less

↳

19 drops is not the best worst case scenario... imagine trying floor 16, if it breaks, you try 1 - 15 and thats 16 tries. if it doesn't break, then try floor 31 and if it breaks, then try 17 - 30 (so 16 tries, including the try on floor 16). And on and on (45, 58, 70, 81, 91, 100). If you reach 91, you'll have tried 7 floors so far and if it doesn't break, then there's 9 more tries to get to 100 (thus 16 in the worst case) Less

↳

Go to the 100th floor and drop the first bulb. It WILL break. Done, 1 drop. It doesnt say whats the lowest floor it will break at, just at what floor will it break with least drops. Thus floor 100. Less

ML Developer was asked...6 July 2021

operations engineermobile developermobile engineergame programmer.net developerfirmware engineerprincipal engineerdevops engineerpython developerjr security analystlead engineerdata engineersoftware developeratg developerc developersenior developertechnical program managerqa engineerapplication developer