Deutsche Bank interview for development position (reader-submitted)
Interview 1: one on one with the Director of DB
Ques: Why DB?
Ans: Did not want to work in an IT firm. That's the reason why I decided to do my masters in Information Science although my bachelors is Computer Engineering. Like meeting and working with new people from different fields and cultures and learn about things which are out of my field. DB is one of the largest Investment Banks and employees say the work culture is very nice here
Ques: When you say "work culture," what do you mean?
Ans: Last night I spoke to some employees at the reception and I have a couple of friends who work at the NY-NJ branches. They all said that the bank keeps their employees informed about whatever decisions they make, big or small. Also, the work culture here is very "European" which means that there is no cut-throat competition between co-workers about reaching the top. I have never heard any negative reviews about DB from their employees.
Ques: How would you make use of the Semantic Web technology at deutsche bank?
Ans: Understand the underlying semantic of data. If user enters a search string called "shares," it should be analyzed as "stocks" and results returned accordingly.
Ques: Okay, so tell me. You said you have done computer engineering. What is the language you are most comfortable working with?
Ans: Recently I have been working a lot with PHP so it's very fresh in my mind. In my engineering years, I have done some extensive programming in C and Java, but honestly, I haven't done anything with these languages in the past 2 years. If I brush them up a little, I will be comfortable using them again
Ques: Okay how would you solve this. I have a text file which has a list of names. Every line has only two words: First name and Last name. How will you find the longest last name.
Ans: For every line, get the second word. In PHP, the explode function allows you to break a sentence at specified delimiters (in this case the space) into an array of words. Then, for the first last name, count the string length. Compare this with the next. Whichever is larger, that word's length will be the longest_word. Then only compare this one with the next and so on until we come across the largest word.
Ques: Okay, good. Now what if I have to see which name occurs the most number of times.
Ans: One thing we need to know here is whether we are looking for any name or only last name. For eg, "Smith" can be a first name or a last name. If we are considering only the last names, we can have an amateur method of having counts for every new name we come across. A more efficient way is to simply write a program for word count. (Use of the word efficiency: mistake!)
Ques: Do you think your method is efficient?
Ans: The second method is definitely more efficient than the first, but it's not the most efficient method. I'm sure there is something which is more efficient than this.
Ques: So what is the efficiency of your algorithm in terms of big O notation?
Ans: I have learned how to calculate efficiency in terms of Big O notations, but that was two years back. I don't remember it at this point.
Ques: How do you rate yourself in MySQL on a scale of 1-10?
And: Maybe 7.5
Ques: Okay. So you have a database of stocks and their prices. How will you calculate the average price of every unique stock?
Ans: *Thinks for a while* The query will use the UNIQUE keyword to find the unique stock name and the AVG function calculates the average prices. I can't seem to be able to build the query right now because I am more used to building queries part by part as I run them. But I have come across a very similar problem in one of my assignments.
Interview 2: Two on one
Ques: tell me about your experiences with working in a team.
Ans: Non-technical experiences are when I played soccer, rugby and flag football, all of which are team sports. when I was the sports secretary of my college, I had to manage all the different sports teams and schedule tournaments (etc etc...)
Ques: What issues can come up in managing huge databases such as DB's?
Ans: Security is important. The databases should be secure and only authorized people should be able to access/manipulate it. The data should be duplicated on a backup storage to prevent all of it from getting lost in case of a system crash. Inputs should be sanitized
Ques: Suppose you have a huge big database. How will you manage it?
Ans: Tables should be normalized to increase efficiency of database. Appropriate indexes must be built for effective retrieval of data.
Interview 3: Two on one
Ques: Tell me about yourself
Ques: how do you relate playing in a soccer team to working in a company?
Ans: Everything is team work. Just the way defenders guard the defense line while attackers score goals, developers do the developing, testers test the code and report bugs. It's all a team effort
Ques: So what if you let past a few goals and your team loses and everyone blames you for not being a good defender. How do you react?
Ans: So it's all a team effort. If we win, it's the team's win. If we lose? It's the team's loss. That's why it is a team game. As long as my team members know I wasn't at fault and are still ready to let me play in the next game, I don't care what the world outside says.
Ques: But then you can't do that in your team at DB right?
Ans: Of course not. Here things are different.
Ques: So suppose you are a tester and you leave out a bug in the program. The project has been deployed to the customer and then they find errors. Everyone blames you for not having done the testing properly. How would you react?
Ans: I would ask the customer for some more time and then do a more intensive testing and try to find the bugs
The contents of these pages may be linked to, but cannot be copied for use elsewhere without the express written permission of the author. Links should point to www.james-scott.co.uk/path