This post is meant to help “level set” across candidates interviewing for my Research Professional position at Chicago Booth in Summer 2023. Interviews will last 45 minutes, allocated as follows:
The goal of the interview is to assess your ability to think through a problem and develop a solution. While it is great if you can write functional code in real-time, that is not necessarily expected. To that end, focus on the problem itself and conveying how you are thinking about it, possible solutions, and the pros and cons associated with the solutions you envisage. Thinking out loud is great!
Continue reading to learn about setting yourself up for success during the interview.
All interviews will be conducted via Zoom, I recommend downloading the client and testing your setup beforehand. For the coding questions, I will share control of a computer with Visual Studio Code and a Python 3.9 environment with all necessary dependencies pre-installed. If you have not used VS Code, I recommend trying it before the interview. VS Code is free, provides solid code completion and is well integrated with linters and code formatters.
Introduce yourself and let me know about anything that was not in your application. For example, that you have a time sensitive offer of which I should be aware.
Interesting research often requires manually collecting data. The goal of this task is for me to gain insight into your ability to assist such collection efforts. Successful candidates will be familiar with concepts such as Uniform Resource Locators, resources, and HyperText Markup Language, as well as how to work with these in Python using libraries such as Requests and Beautiful Soup. Note, if your code is not 100% functional, that is okay, but having a general sense of how one would use these libraries, i.e., the methods that exist in them, is expected.
Given some interesting data, the next step is to process it. Occasionally, this requires custom processing logic that is “one-off” or bespoke. More commonly, a processing task will need to be done again in the future on different data, e.g., the logic to test for a difference in means is applicable to many datasets. The goal of this task is for me to gain insight into your ability to solve common data processing tasks and to do so by writing code that can be reused for other projects. Think of this as adding a tool to your toolbelt rather than cobbling something together that can only be used for the problem at hand.
You’ve crushed the technical questions 🎉! Now it is your turn to ask me questions, e.g., what are the responsibilities? What is this stand-up meeting thing? What is better, deep dish or thin crust?