Deployment engineer interview questions shared by candidates
How would you program a computer to shuffle a deck of cards? (Generate a permutation of the numbers from 1 to 100, uniformly at random)
http://en.wikipedia.org/wiki/Random_permutation (See Knuth shuffle)
Make array of numbers from 1 to 52. Go through each of cards each time removing one number randomly chosen from array and assigning it to the card. Sort the cards by numbers assigned to cards
I think you can use some group theory to solve this as well. Pick random number a in [0,51]. Pick another number b in [1,51] such that the gcd(52,b) = 1. The nth card in the permutation is the card at the index given by a+bn % 52, where % means modulus. i.e. nth index = a+bn (mod 52) In addition, this method works for any permutation of any length (assuming random distribution of b values).
I was asked some detailed questions about my technical background in the telecommunications and online networking fields. Furthermore, the interviewers wanted to know what type of projects I worked on. Moreover, the interviewers wanted to know my knowledge of customer service, billing, and mobile applications. Lastly, the interviewers wanted to know if I had any project management experience, as well as report writing experience. The details listed on my resume, including the various tasks and experiences listed from my time in the military and as a student satisfied these questions.
The following question was the programming question during the second phone interview. The coding portion was conducted using Stypi (similar to Google Docs). I was allowed to use my language of choice (Python) rather than being forced to use Java. I was asked to write a routine to verify that all the words in the solution of a crossword puzzle were valid words. The crossword puzzle was represented as a two-dimensional array of single-character strings (and empty strings for the empty blocks). While this question is pretty straightforward, but there is a "better" solution than others which seemed to pique the interest of the interviewer—see the answer section for details. It is also worth pointing out that I later found that certain technical details of my solution were incorrect, but either the interviewer didn't notice or didn't care. I think the question was intended more to see how I work.
See Interview Questions for Similar Jobs
- Software Engineer
- Software Developer
- Senior Software Engineer
- Software Engineer Intern
- Product Manager
- Software Development Engineer
- Software Engineering Intern
- Data Scientist
- Business Development
- Quantitative Analyst
- Software Engineering
- Associate Product Manager