Interview 101
My summary of interview preparation.
Table of contents
- How to organize answers
- How to talk about projects
- FABQ
Technical Interview Preparation Materials
Behavioral Interview
1. How to organize answers
- STAR: Situation → Task → Action → Result
- CARL: Context → Action → Result → Learning
- CART: Clarify → Assumption → Result → Test (to solve tech problem / case study)
- SWOT: Strengths, Weaknesses, Opportunities, Threats
- Mention memorable highlights for interviewers’ follow up questions
2. How to talk about projects
Include process, domain, structure/tools in your answer.
- Project background (1 min - you should have an overview of the full picture):
- client, industry, business
- challenge (should be industrial recognized), existing situation (problem)
- Project detail (3 min):
- include scope, deliverables, duration, team structure, report what report to who (knowledge in project management level)
- mention SDLC flow and process. plus: business input? data source? stakeholders’ requirements? etc
-
Project and performance evaluation (users, managements, teammates) (1 min)
- Ask interviewers if any specific parts they want to know more
Examples
e.g. the project is to deliver a report:
1. report usage/purpose;
2. how frequent it generated;
3. data sources;
4. what does the report looks like (summary? chart? dashboard? );
5. KPI
e.g. the project is to build a system:
1. system purpose;
2. data volume and user numbers of the system;
3. overview of infrastructure design (e.g the infra is web server → MQ → app server → DB, how the design achieve high available and scaling etc);
4. detail implementation → your greatest contributions
5. Project and performance evaluation (users, managements, teammates) (1 min)
6. Ask interviewers if any specific parts they want to know more
3. FABQ
Tell me about your self? **
Answer structure: Present → Past → Future + Mention Highlight Points
- Who I am (1 min)
- my current role (present)
- my prior experience / how I come to current position (past)
- my expectation (future)
- Recent achievement (1 min)
- any highlight points in my projects / any special things I did
- anything makes me unique
- Personal interests if the interest is work related (30 sec)
- e.g. enjoy writing tech blogs in spare time
What are your career goals? **
- Short-term goals (2 - 3 years)
- Long-term (5 - 10 years)
- What actions I am taking to achieve my goals.
Why you are a good fit for this role?
- What can I bring to the role (50%)
- What I want to get from this role (30%)
- What makes me unique (20%)
Why are you interested in this role / Why do you want to work here? **
- Company (e.g. culture, future potential, industry, etc)
- Role (what I am interested in for this role)
- My experience/education/background fit the role/company Notes: Growth mindset, focus on the role, show enthusiasm
Example of successes **
- define
success(e.g. did sth above and beyond your level) - provide the success example, organize in STAR format
- summary: what did you learn from this experience
Example of failure **
- Define
failure(e.g. over-promising but under-delivery) - Share the example in Context → Action → Result → Learning format. Only need 1 thing to go wrong and show only one-time mistake (avoid everything wrong or repeating wrong pattern)
- End with a learning (My biggest take away from this experience is…)
Example of challenges and how you handled them **
- answer in STAR format. Talk about the solution and the role you played.
- End with your lesson learn and things to be improved
What is your weakness? **
- the weakness should not be work-related
- focus on how you improve it
Example sometimes I focus too much on little details improve → prfioritize tasks beforehand and back to little details after everything is done to avoid affecting progress
What is your strength? **
Provide an example to support your answer
Describe your ideal work environment **
Match your interest with the company culture
Example
My ideal work environment is one that emphasizes **collaboration** and encourages **creativity**.
I feel that my best results come when I work with different teams and share ideas.
Collaboration can always bridge the gap between teams and bring inspiration, and creativity moves the company forward and enables everyone's talents to flourish.
Any questions you want to ask the interviewer **
Questions should vary according to different stages of interviews
Examples
- Can you share more about the day-to-day responsibilities of this position?
- If I were hired, besides my teammates any other teams I will be working with?
- What does a typical word day look like?
- What do you like about working here?
- Questions about industry research.
Tell me a time you handled a difficult situation
Highlight:
- You are able to listen to, and accept, other people’s point of views even if you have already formed your own opinion and;
- You are able to put the needs of the business above your own when a conflict does arise in the workplace
What perspectives do you value most of a company/offer?
- Growth opportunities
- Teammates and working environment
Difficult questions
- Clarify the questions, rephrase and repeat to confirm my understanding correct (to buy time)
- Break question down
- Address each segment
What type of manager do you work best with?
- encourage independent work (there are managers who prefer to give clear, specific instructions). I work very well independently, but also know when to ask questions.
- encourage clear communication between management and employees
What kind of people you don’t like to work with?
On a professional level, I have respect for all individuals that work hard and maintain a professional work environment…
How do you stay on top of current trends and innovations?
- Keep an eye on new technologies news
- Follow tech news (hacker news, medium, sign up AWS news for latest deployments and best practices,))
- Explore trending projects or top starred projects on github https://github.com/trending
- Read companies blogs and the latest research reports (https://www.thoughtworks.com/radar)
- Think and try to apply the new tech in regular work
- Share knowledge with friends and colleagues, talk to people from different background
What distinguishes a great software engineer from a good one? Do you feel you have those qualities?
- good: given a plan and execute the plan, follow standard and best practices.
- better: given a problem, find solution and solve the problem
- great: observe, identify and solve problems, think about what cause the problems and rational behind the solutions. Define and enforce standard
What’s your ownership level for prior project and product?
What are you looking for in your next job?
What change did you make in your previous role?
What do you enjoy most in your last role?
Tell me about a time when you made a mistake and how you rectified it?
Give an example of how you inspired others
How to handle conflicts with your teammates/managers?
How your manager/teammate will describe you?
How comfortable are you in a startup environment, or do you prefer working in a more established company?
Technical Interview Preparation Materials
CS Foundation
- https://github.com/CyC2018/CS-Notes
- https://github.com/Snailclimb/JavaGuide
- https://www.liaoxuefeng.com/wiki/1252599548343744
- https://www.baeldung.com/java-tutorial
- https://www.geeksforgeeks.org/
- CS61C https://www.youtube.com/playlist?list=PLhMnuBfGeCDM8pXLpqib90mDFJI-e1lpk
Data Structs & Algo
- CS61B https://sp19.datastructur.es/
- Crack the coding interview
- https://labuladong.github.io/algo/
- https://time.geekbang.org/column/intro/126
OOP & Design Pattern
System Design
- Crack the system design interview
- Designing Data Intensive Applications
Database
- SQL
- The Internals of PostgreSQL http://www.interdb.jp/pg/index.html
- MVCC https://www.postgresql.org/docs/current/mvcc.html
- https://www.tutorialspoint.com/postgresql/index.htm
- NoSQL
- Data warehouse
Written on February 28, 2021