Need advice on Software Dev. Interview
Hey everybody,
First post here because i couldn't seem to find anything about software development positions (nor am I sure you guys would be able to help much).
But here goes:
I have an upcoming interview in software development with a trading company, and wanted to know what sort of questions to expect. They gave me a programming quiz, which seemed very easy (in Java), but I'm worried they're going to ask me about advanced subjects that I should read up on beforehand.
Thanks a lot for the help guys,
Graham
You should probably know the following (listed in order of importance):
-Data structures: Linked-Lists, Arrays, Trees (including balanced trees like red-black trees and AVL trees), HashMaps/Sets. I even got a questions on java.util.TreeMap. If you're a college student, you will (hopefully) not be expected to know the semantics of their implementations in Java; if you've worked full-time in Java for more than a year or two, you should also come in knowing the details of how java.util.HashMap handles cases where two objects map to the same spot in the array. B-trees and Patricia trees would be good to know, too, if you have time.
-Principles of OO. This is BIG in Java. Expect questions like, "Can a class have two superclasses? How would I implement this (or something like this?" "Can a private function override a public function?" "What does protected mean?" "What is the default level of access in Java?"
-Software Engineering/ Design Patterns. A college student won't be expected to know this stuff off the top of his head, but they may ask you if you know software engineering, and if you answer something in the affirmative, you'll see some questions on MVC, n-tier applications, singleton, factory, etc.
-Threading: Know deadlock avoidance techniques, avoiding race-conditions. Producer-consumer.
-Order of complexity: This is something very important in a lot of cases. Questions like, "How would you sort XY or Z?" (The correct initial response is to ask a lot of questions or state a bunch of assumptions about the set to be sorted). You'll be expected to justify your answer by discussing order of complexity. You may see a complicated optimization problem where you'll want to either get a polynomial time solution or prove the problem is tough to solve in polynomial time.
-Basic common-sense optimization techniques. IE: try to avoid division if you're asked to work with numbers.
-Numerical Methods. LU-factorization, splines, taylor-approximations, and finding intercepts (IE: the bisection method or the newton method), are all fair game.
-Basic quantitative solving skills. Get a copy of "Heard on the Street" and study the brain-teasers section; you may see a few in the interview.
-Questions on finance and financial products if they see finance courses on your resume. It could span anywhere from CAPM to Black-Scholes to arbitrage-free pricing to simple calculations on IRR depending on what's on your resume.
-Algorithms: Ford-Fulkerson and Dykstra's would probably be two good ones to have in your back pocket in case it comes up- be ready for something like this if you're talking with an OTC commodities trader.
Source: I was an Interviewer in Analytics (a hybrid between quant work and IT) at a major BB; interviewed for development positions at a number of Chicago prop trading firms, and several other BBs several years ago.
I wish I had more details on what you'd be doing. If it's analytics, there's certain areas to focus on. If it's algorithmic trading, there's other areas. If it's a booking system or market data system, there's a few things to add. I'm trying to give you a broad overview of the sample-space for questions in a generic financial programmer interview, but we can probably make your life easier and narrow things down a little if you can give us more details about the position.
Illini, thank you very much for your input you've already been very very helpful.
I'll be sure to read up on all of those subjects in the next couple days, I would likely be working alongside an algorithmic trader and quant researcher if I understand how this company works correctly.
If that's the case, although I think OO is typically a core skill for most developers, I'd put a little less emphasis on OO and software engineering and more emphasis on numerical methods, algorithms, data structures, and some of the more common-sense optimizations. If you have anything finance-related on your resume, you'll need to study up on that, too.
The quant part tells me that you're going to need to know your numerical methods. The program trader part tells me that you'll need to know how to write efficient code on the fly- and it would be good to be prepared for some finance questions.
Bear in mind that an interview with a trader is unlike any other interview you've ever been in (unless you've interviewed with a trader before). Traders are notorious; most interviews involve very pointed questions and the interviewer leaving a deafening silence while you try to solve a question. When I applied for an internal transfer into a trading group, one of the questions I got was: "So what does your system ACTUALLY do?" and then been forced to explain my system in detail while translating it for someone without using any technical jargon.
If you find yourself in one of these interviews (and believe me, there won't be any doubt in your mind that you're in one if it's that kind), just try to stay calm and confident and know that 25% of the other interviewees probably ran away crying halfway through, so you're doing better than them. Unlike most interviewers- who care how you do in the average case- traders are also interested in how you do in the most adverse circumstances. Market crises tend to be when traders either make or lose a lot of money, and they sometimes want to see how you hold up in a difficult interview. During the interview, you'll feel like you're doing horribly, but as long as you get most of the technical questions right and can avoid any sort of major major breakdown, you've probably done just fine. If you get discouraged in the middle, just remind yourself of all the kids you haven't seen who broke down in tears or told the interviewer to F-off, or left halfway through, and that you're probably doing better than them.
Hey man, if you could just answer one more question since you have so much experience with this.
Approximately how do the cuts work after an interview? How many people would remain after the first elimination, after the programming submission, and the first and second round of interviews? In terms of percentages?
Aut aut ut assumenda molestiae fuga voluptas. Ut est recusandae consequatur suscipit veniam qui numquam. Aspernatur molestiae laborum voluptatibus quae suscipit. Dolores a vel dolor rerum et architecto. Vel asperiores voluptatibus rem ea voluptate rerum officia.
Perferendis nihil incidunt velit qui fugiat. Porro sit laboriosam id qui fugit odio. Placeat aut ipsa est ut asperiores occaecati quod praesentium.
Maxime ex ut eos delectus. Assumenda sit provident voluptatem iusto ab rerum et provident. Maxime numquam sit culpa omnis cumque. Et quae facilis qui laborum molestiae odio eum. Fugit voluptate sequi vero reiciendis voluptas dolorem.
See All Comments - 100% Free
WSO depends on everyone being able to pitch in when they know something. Unlock with your email and get bonus: 6 financial modeling lessons free ($199 value)
or Unlock with your social account...