Friday, January 15, 2010

Interview Questions

Here are a few questions you may be asked if interviewing for a technology / developer role in an investment bank:


  • What is object orientation?
  • State three fundamental concepts in object-oriented programming (e.g encapsulation, abstraction, inheritance)?
  • What is the super class of all classes?
  • State three methods of the Object class.
  • What is the difference between checked and unchecked exceptions?
  • Name the subclasses of Throwable.
  • What is the Error class?
  • Why are hashcode() and equals() important?
  • What is hashcode() used for in a Hashmap?
  • Write an equals method for a Person class which contains a String attribute called name.
  • List XML parsers and how would you decide if you should use SAX or DOM?
  • Discuss testing with JUnit.
  • Given an Employee (name, dept_id) table and a Department (id, name) table, write a query to display which department each employee belongs to and another query to list all departments which have exactly 10 employees.
  • What steps would you take to identify why a query is slow and how would you optimise it?
  • What kinds of Hints are there?
  • What is the difference between a normal index and a clustered index?
Problem Solving:
  • You have 8 coins which look identical. However, one of them is heavier than the rest. You have a weighing scale. Find the heaviest coin using the scale the fewest times as possible.
    Answer: Weigh coins 1,2,3 vs 4,5,6. If they weigh the same, weigh 7 vs 8 to get the heaviest. If they are not the same, pick the heaviest batch (e.g. 1,2,3) and weigh 1 vs 2,3 and so on.
  • In the diagram below, you have two lists. Change the ordering of the elements in the first list, so that they appear in the same order as the second list. You have a container which can hold only one element to help you.
  • A          B
    B          C
    C   +--+   D
    D   |  |   E
    E   +--+   F
    F          G
    G          A
    Answer: Put A into the container. Shift all elements up by one. Move A into the vacant slot in the bottom of the list.
Risk and PnL:
  • What is Real PnL?
  • What is attribution i.e. what attributes make this PnL?
  • What is explained and unexplained pnl?
  • What is Delta Risk and why is it important?
  • What market data do you need to calculate Delta Risk and how is it calculated?
  • What is a yield curve?
  • What is a volatility surface?
  • Real PnL: Profit and Loss compared to yesterday REAL_P+L = PVToday - PVYest
  • Attribution: What made this PnL such as The Greeks: Delta PnL, Gamma PnL, Theta PnL, Vega PnL, New deals, Dropped deals, Amended deals, Cash flows
  • PnL Explained: The addition of all these attributions that explains the Real PnL.
  • PnL Unexplained: The difference between the Real PnL and the Explained PnL.
  • The target is to get Unexplained as close to 0 as possible.
Related Posts:

1 comment:

  1. Anonymous8:43 PM

    besides DOM and SAX, you may want to look at vtd-xml as the latest and most powerful XML parsing lib