# Interview Runbook
## TLDR
0. Go over the [Application List](https://docs.google.com/spreadsheets/d/1Yz7jedMudMiNr4AqLTSz6Ds1SjXxEy0NBmlF-xM3pmg/edit#gid=27652134) and pick your candidates
1. Create an [appointment schedule on your gCal](https://www.youtube.com/watch?v=ZhS0sgc1eNM)
2. Write an invitation email based on [the template](https://dev.hsrn.nyu.edu/vip/planning/runbook/-/blob/main/project_lifecycle/1-applications-and-acceptance/interviews/invite.md?ref_type=heads)
3. Send the invite in bulk by sending yourself the email and **CC Nick and Diego and BCC all the candidates**
4. Write your reviews and comments on [Eval sheet](https://docs.google.com/spreadsheets/d/1Yz7jedMudMiNr4AqLTSz6Ds1SjXxEy0NBmlF-xM3pmg/edit#gid=1033346969). You can use this [doc template](https://docs.google.com/document/d/18XoNPzafVbP2z3d14ycFlNl21I_KwLvtHECwQJl-oRc/edit?usp=sharing) to write notes.
## Intake
### How to pick interviewees?
1. When application pool is small (<50)/Those who applied early
- Interview as many as we can
- Interview candidates who have at least some CS experiences
- Interview ALL freshman/sophomore year students
2. When application pool is large (>50)/Those who applied after 12/22
- Be more selective
- Only interview those with matching exp/skills
- Interview SOME freshman/sophomore year students who have some CS experiences (it's fine if they dont have matching exp/skills)
### How to balance quality and skills?
1. We put freshman/sophomore year candidates on projects that require less experience and can be easily trained for. Projects/teams like:
### How to balance grad/undergrad and gender profile?
1. grad/undergrad profile: This depends on the nature of projects within each team. We will not consciously have a balanced project profile just to have achieve this.
2. gender profile: Our recruitment is merit-based, but we will try to balance gender in our recruitment.
### Who interviews the candidates?
1. Each team recruits their own people. This means team lead/mentor will pick and interview their own candidates. If there are two matching teams, teams coordinate with each other and have only one team to interview the candidate.
2. If the candidate is not interested in the team we pick for them, ask their team preferences during the interview. They will not be interviewed again. Instead, we will assess them based on our general assessment and make the final call on the team they will join. It is possible that candidate will turn down the offer, so we will need a waitlist.
## Interview
### What is the overview of the interview process?
One-stage 40 minute interview with 5 parts:
- Part 0 (3 min/0% score): Self-intro
- Part 1 (10 min/50% score): Behavioral Questions
- Part 2 (7 min/20% score): General Conceptual/Coding Questions
- Part 3 (15 min/30% score): Resume/Project-Specific Hypothetical Questions
- Part 4 (5 min/5% bonus): Q&A + Logistics
### What are the interview questions?
#### Part 0: Introduce yourself
Introduce yourself and HSRN first, then ask the candidates to introduce themselves
#### Part 1: Behavioral Questions
*Our VIP projects are sometimes somewhat exploratory and experimental, meaning not well-defined known tasks. Candidates must be **passionate** about what they do, **dutiful** and **independent** enough, and have **enough time** to commit.*
- **Passion/Interest/Motivation**
```
1a. Is there any team you are particularly interested? And why do u think you are a good fit for that team?
1b. If no team preference, then what you hope to gain from our VIP?
```
- **Independence** - do not expect someone to spoon-feed things to them.
```
1. Have you ever worked on a project where you need to figure things out yourself? Please give an example and tell me your thought process behind.
```
- **Dutiful**
```
1. Tell me about a time you met a tight deadline. Why was the deadline tight and what did you do?
```
- **Have time** - if they are Master’s, also ask if they have found an internship yet
```
1. How does your course schedule look like this semester? And how to you plan to prioritze VIP along with your other commitments?
```
#### Part 2: General Conceptual/Coding Questions
*Usually underclassmen do not possess enough knowledge to answer generic CS questions, but we still want to gauge their “CS-ness quality”, so personally I suggest asking them about easy LeetCode questions to test their ability in programmatic and logical thinking. They do not need to write bug-free, executable codes but only the pseudo codes or even just the logics to see if the answers make sense. For Master’s students, they should be able to answer generic CS questions. And depending on the depth of their answers, we can gauge their CS-ness quality.*
For Master’s
```
1. What are the differences between stack, queue? (https://www.andrew.cmu.edu/course/15-121/lectures/Stacks%20and%20Queues/Stacks%20and%20Queues.html)
2. What's the difference between TCP/UDP?
3. Can you describe OSI or TCP/IP model?
4. What's the TCP handshakes and why is it important?
5. How to design a high-availability application? (https://www.digitalocean.com/community/tutorials/solution-deep-dive-building-a-highly-available-web-application-with-web-processing-and-storing-capabilities-using-mongodb-and-elk-stack)
Keywords: disaster recovery, redundancy, auto scaling
```
*Example answeres*
```
1. (23 fall) What happen when you type a URL and hit enter in a browser?
- You type maps.google.com into the address bar of your browser.
- The browser checks the cache for a DNS record to find the corresponding IP address of maps.google.com.
- If the requested URL is not in the cache, ISP’s DNS server initiates a DNS query to find the IP address of the server that hosts maps.google.com.
- The browser initiates a TCP connection with the server.
- The browser sends an HTTP request to the webserver.
- The server handles the request and sends back a response.
- The server sends out an HTTP response.
- The browser displays the HTML content (for HTML responses, which is the most common).
```
For underclassman
```
1. Tell me an algorithm/data structure that you have learned. What are the characteristics, time complexity, and use cases.
2. Easy leetcode question sets such as 2sum 3sum, Best Time to Buy and Sell Stock, and palindrome related ones
```
#### Part 3: Resume/Project-Specific Hypothetical Questions
See if the candidate has the right skills for the project
```
(Team Lead think about these questions)
```
#### Part 4 Q&A
See if they are passionate/committed candidates who do their homework before interview. The more specific, the more score we should give. *This is a nice-to-have bonus point*
#### Part 5 Logistics
### What are the interview rubrics?
We are using the following scoring bands from 1~4 for each part of the interview.
```
Strong hire=4
Hire=3
No hire=2
Strong no hire=1
```
Please also take some notes in the comments section in the sheet so that you can better recall how candidates performed when we do selection meeting.
## Selection
### How do we select candidates?
1. We will have round-table discussion on candidate selection. Each team will explain their selection thought process to make sure we have consistent decision criteria for each selected candidate. We should waitlist at least one candidate in case the offer is being turned down. Last semester the yield was 100%, so the waitlist should not need to be too long.
2. We will have a rolling-based selection and give candidate 3 days for their decision time.
## Admission letter
### What should be included in the admission letter
- clear role and responsibilities. We mandate things into obligations such as symposium work shift and work documentation. Clearly list out our future operations (e.g., Symposium, Kick-off meeting) they need to participate to set our expectations on them.
- Unless specific circumstances, the default should be having students enrolled with at least 1 credit. Credit students take vip more srsly bc their gpa is at stake. They will need to take extra effort to elaborate why they take zero credit and mkae sure they will have the same level of commitment as they would with credits. I know in worst case none of this works, but we do the best we can.
- clearly list that that they should committment 2 contiguous semesters and AT LEAST 4 hours of committment per week during the semester.
- Add project description
## Advice
### Iterate questions over after each interview based on what people have answered.
For example, you can rephrase questions that you have been asked to clarify a lot. And have some follow-ups questions on those most people answer quite well. For example, people can answer quite well what CORS is. Then you can follow up with how would you deal with CORS errors or when would you disable CORS and why.
### What are the expected working hours from VIP
10 hours/week (at most). pretty much equivalent to those course lab assignments. We used to tell people 4 hour bare minimum, but that didnt work out with our expectations.