I applied to be a software engineering intern at DRW trading for this summer 2011 through my university.
Pretty quickly after I applied, I was contacted via email to set up a phone interview.
The phone interview lasted about 20 minutes and was purely technical. My interviewer asked me fundamental questions about Computer Science like "what is a heap, and how is it used?", "what data structure would you use to implement a web browser's forward/back functionality?", "what is the difference between JAVA and C++?", etc.
At the end, they also asked me what my interests were in computer science.
A week later, I was invited to visit their office in Chicago for an on-site interview.
I will say this. Their recruitment program is awesome. They flew me out, paid for all travel expenses (cabs, food), and put me in a nice hotel.
Their Chicago office is also very nice and seems like an awesome place to work, with great people, too.
The interviews started at 9 am with an hour-long technical interview where they asked me to write unit test cases for a buggy library of functions like finding the average of all elements in an array, finding the sum of all elements in an array, finding the moving sum of all elements in an array, etc.
Nothing very complicated, but the goal was to see how thoroughly I could test a program and figure out its weaknesses.
The next questions was implementing a function using unit-testing that rotated the elements of an array a certain amount.
The final task was on OOP and asked me to add to the library. At this point I was almost out of time so we just talked through a solution involving polymorphism and class hierarchies.
The next interview was a 30 minute puzzle interview.
I was introduced to a game involving a square board divided evenly in four. Each spot in the board contains a coin. Specify a sequence of flips (not restricted to flipping just one coin per turn) that will guarantee that at some point all coins are facing the same direction. You do not know the original configuration of the board.
After working through a solution, they "made it more interesting" by saying after each flip I make, they get to rotate the board an arbitrary amount (90, 180, 270 degrees). Same objective. Get all coins to match.
This one took me a while and I didn't reach a solution before the end of the interview.
We took a break to go to lunch. They treated us to a very nice steak house. We ate with the head of the software department and one of the developers. It was a good chance to ask questions and get to know the company.
After lunch we were given a tour of the office. Then we had a 30 minute "conversation" with one of the employees. Basically he just asked me questions about my resume, experiences, and we talked about what he liked about working at DRW and why I might want to work for DRW, etc.
Didn't seem like he was driving at anything. It was very open and did not feel like an interview at all.
They told me I could expect to hear back within a week. Sure enough, after almost a week, I received an email saying they would not be hiring me.
Tips for future interviewees at DRW, or anywhere, really:
Be confident even if you aren't. They want to hire people that can do their jobs better than they can. If you go in intimidated or doubting yourself, they will notice and likely you won't give your best performance, either.
Even if you give the right answers, if you aren't confident and bold in your responses, they will take it as a sign of weakness and unreliability as a future employee. More than anything, you need to demonstrate your ability to function and thrive as an employee.
Even if you fail to give the right solution, you need to demonstrate productivity. Don't dwell forever on a problem that's stumping you. Ask for help, or admit that you are stumped. They will definitely prefer this over you muttering to yourself or sweating in silence trying to figure it out!
And, of course, ALWAYS REMEMBER YOUR INTERVIEWER'S NAME. It's very important to establish that connection. You want them to remember you. If you don't even remember their name, likely they won't remember yours. Even if you have to keep saying their name in your head throughout the interview, do it. Don't forget their name. Thank them BY NAME for their time and for the interview. Maybe even better, ask for a business card or contact information if they haven't given it to you already. Follow up. Again, the connection is important. How people perceive you is half the battle.
Coin game: board divided in quarters. A coin rests in each spot. You do not know their original configuration.
In each turn, you can choose to flip any number of coins. Specify a sequence of turns that guarantees that at some point all coins will be facing the same direction.
Second question: between each of your turns, the board will be rotated an arbitrary amount (90, 180, 270 degrees). Specify a sequence of moves that guarantees that at some point all coins will be facing the same direction.
The following metrics were computed from 2 interview experiences for the DRW Software Engineering Intern role in Chicago, Illinois.
DRW's interview process for their Software Engineering Intern roles in Chicago, Illinois is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for DRW's Software Engineering Intern interview process in Chicago, Illinois.