Software Development Manager Interview Questions


Software Development Manager interview questions shared by candidates

Top Interview Questions

Sort: Relevance|Popular|Date
Software Development Manager was asked...30 June 2011

Given two numbers n and m, divide n by m without using the division operator. Return both the integer answer as well as the remainder.

5 Answers

I first assumed that both numbers were positive and then used repeated subtraction to come up with the answer. Upon further discussion I felt that this took too long and tried to come up with some kind of faster method to accomplish this but I could not design it in the time required. Thinking about it there are some other choices: 1) Treat the numbers as binary and then use shifting and subtraction to divide. I can't really solve this easily. 2) Calculate ..., 16m, 8m, 4m, 2m, 1m, etc. and the subtract each of those from n if possible. If you can subtract it shift the answer and add a 1. Finally, compare the signs of n and m to set the signs of the answer. Less

10 ^ (log10 m - log10 n)

The two answers don't give you the remainder; you will still have to write code to get that Less

Show more responses

Write a function that takes an input string, consisting of several words separated by spaces, and print out each word reversed, keeping the same order within the string.

4 Answers

Create a stack. Traverse the string and push the characters onto the stack until a space is encountered, then print all the characters off the stack until it's empty. When the end of the list is reached, empty and print the stack. Less

I know that a Java answer isn't always what MS likes to hear. However, the technique is essentially the same if it's C#, C++, or even C. Extracting the tokens from the string and reversing them in the same order as the original string is the trick. ---------------------------------------------- import java.util.StringTokenizer; public class MsTest { public static void main(String[] args) { // TODO Auto-generated method stub String aString = "ABC 123 Doe Ray Me Fala=la 890"; System.out.println( "Original String: " + aString ); StringReverseElements( aString ); } private static void StringReverseElements(String Mess ) { StringTokenizer st = new StringTokenizer (Mess, " "); String tmpString; System.out.print( "Reversed String: " ); while (st.hasMoreTokens ()) { tmpString = (st.nextToken()); PrintReverse( tmpString.toCharArray(), tmpString.length()); } } private static void PrintReverse( char[] AnArray, int iLen ) { for ( int kk = 0; kk < iLen; kk++ ) System.out.print( AnArray [ iLen - kk -1] ); System.out.print( ' ' ); } } Less

Clay - That would absolutely work, but during my interview I was told I couldn't use library functions, including Tokenizer. Less

Show more responses

What would you do if senior management demanded delivery of software in an impossible deadline?

3 Answers

The feasibility which could lead to happen this type of situations is due to critical business needs. It means senior management would be actively involved and here agile framework will come into play. Delivering the workable product and then further developing the solution would be the best possible shot for win win situation. Less

It is possible to keep scope, resources & timeline (dates) unchanged, but compromise on quality. This will impact team retention, especially the stronger engineers on the team, over the longer run. The leadership team must understand the consequences. Less

Give them the choice of reduced scope, more resources, or changed dates. They can only pick 2. Less


Q. How to prioritize the features slotted for a given release.

3 Answers

Have a feature prioritization meeting with the necessary stake holders who requesters various features. Discuss and accept on a timeline for delivery. Less

*requested the

Start with the customer.


What do I know about Distributed systems?

3 Answers

A distributed system is where components located on a network communicste by passing messages passing messages. The components interact with each other in order to achieve a common goal. Less

while some answer is fine, this is just an opener to a wider question the interviewer is trying to drive at. A good answer would briefly describe some theory of distributed systems and better bring out some experiences of building a distributed system. Preferably from personal experience OR definitely from something you have studied deeply. Less

I didn't have experience with such systems. So, told the person.


Given a large unsorted text file containing thousands of words count the number of times each word appears.

3 Answers

How about building a prefix tree and keep the frequency at the leaf of the tree?

Of course having a hashmap or an associative array would be a naive way. They are looking for optimization. Probably either using a hashmap but in a multithreaded way or having a more optimized algorithm that involves uncommon data structures Less

I answered that I would build a hash map where the key was each word encountered and the "value" was the number of times that word was encountered. O(n) complexity. Less


A web service is used by many teams. How do you release a new version ? Sending emails or reminders to a mailing list of current users does not guarantee a full response, what do you do?

3 Answers

In this situation, calling a mandatory meeting having all representative for all the team make a difference. Apart from one official mail it is wise to look and understand the impact of new release for existing area if they have not been tested properly. Further past regression and automated results will help you to minimize the risk. Less

You can override the methods which required change and deprecate old method. Also a java doc comments would help wherein it would mention the next version, when this old method wont be availble thereon. Less

1) you can add version number in the url lie ../api/v2/account 2) use header, so the url does not change and it is always point to latest 3) use content negotiation technique Less


What methods would you use to retain employees within the company?

3 Answers

Methods to retain employees - challenge, explain impact, bring clarity, monetary motivation, morale, help them identify strengths and let them play to it, promotions, tools at work, lateral move, right fit, work/life balance, mentor-mentee, etc. Got keep trying for A+ people and your A people as well. Less

Check-out Maslov's theorem. Map each candidate to the stage they are in as per Maslov. That should give you an idea what motivates that individual. Base your action as per the individual. Less

Have regular health index surveys. Give more responsibility and ownership. Have genuine morale events. Recognize performance fairly. Less


First Round Questions (6 year Exp Software Engineer took the interview) 1)In a Given array which contains sorted numbers only one of number matches with that of Index. Find the number Not in O(N). 2)Derive a DataStructure to support the following operations Insert/Delete/Search/GetRandom Value in O(1) & O(logN)

3 Answers

Problem1 can be solved via binary search. The index to find would be the "turning point" in the array, where all entries before it are smaller, and all entries after it are larger than the indices. Search can be done in O(LogN) Less

This is Assuming that numbers can't repeat

Both are straightforward problems.Interviewer was genuine enough to guide when I was deviating from the answers.With Collaborative effort this was solved. Overall this interview lasted for 45 minutes Less


All leadership and management question

2 Answers

Light on the tech question. Easy stuff.

Hi! As an Amazon employee who interviewed and hired a lot of people here, I've created a guide that has all the questions and winning answers from an Amazonian recruiter perspective. Please check it out at . Pls also check the positive feedback at the bottom of that page! Thanks. Less

Viewing 1 - 10 of 974 interview questions

See Interview Questions for Similar Jobs

Glassdoor has 974 interview questions and reports from Software development manager interviews. Prepare for your interview. Get hired. Love your job.