Algorithm behind the behavioral interview
What is a behavioral interview?
A behavioral interview or Leadership interview is a nontechnical interview to learn about a candidate’s working style, behavior with others, dealing with failure, attitude towards risk-taking, goal-oriented, etc.
Why behavioral interview is hard?
Compared with coding or system design interviews, you can not copy the other’s answers for this interview. For example “Tell me about yourself?”, every person has their own answer for this question. Compare this to “How to find a max number from a given array” where I can copy other’s written answers.
Another reason this interview is hard is because of the nature of Software Engineers. Most of the engineers are introverts and shy to talk about their achievements.
Can we make it easier to prepare?
Yes. If you go little deeper, you will realized that behavioral interview is also a science. There are many algorithms to answer these interview questions.
Data structure for algorithm
As per Amazon’s famously published leadership principle we have the following types of behavior/leadership patterns.
- Customer obsession
- Ownership
- Invent and simplify
- Leaders are right a lot
- Learn and be curious
- Hire and develop the best
- Insist on the highest standard
- Think big
- Bias for action
- Frugality
- Earn trust
- Dive deep
- Have backbone; disagree and commit
- Deliver results
- Strive to be Earth’s best employer
- Success and scale bring broad responsibility
Candidate must memorize these principles. Whenever interviewers ask questions, they want to judge on these leadership principles.
Algorithm to answer behavioral questions
- First understand the question asked and try to relate which leadership principles needs to be applied to answer it.
- Keep asking follow-up questions until you get clarity.
- Unless you don’t figure it out, don’t start answering.
Similar to coding question, it is ok to ask followup clarification on behavioral question to understand the intent of discussion.
Once you figure out the intent/leadership principles behind the question then you should tailor your answer based on that.
Following are a few examples.
Answer with data/metrics
It is very important that you use quantitative data to talk about your story. Instead of simply saying there are huge traffic on long weekend which caused high cpu usage.....
, we should say due to long weekend, user traffic spiked by 30% which lead to 60% higher cpu usage
.
Don’t use generic examples, be specific
It’s very important to make sure to use a specific example to answer the question. Since you will have binding with the interviewer it’s ok to reveal your team structure or tools or technologies you are trying to quote to answer your question. Obviously, make sure you don’t cross the line to reveal the internals of your company which could cause a problem.
Answer format
The interview wanted you to communicate effectively and conclude with results and learning opportunities for you. Following are a few industry-standard formats.
STAR method
Situation, Task, Action, and Result are effective for tailoring your response in a professional format. But there are two problems with this approach
Situation
andTask
become so blurry for many of the question that it become annoying to repeat the story.- It is missing the learning part.
Therefore I will not recommend using this pattern.
CAR method
Context, Action, and Result are very effective in keeping your answer short and easy to present. But the problem with this approach is, it is missing the learning component. So I will not recommend using this pattern.
CARL method
Context, Action, Result, and Learning is very much suitable to format your response. I will recommend formatting your response based on this if possible.
Match your response with your level
Every question is answered differently based on the levels. You need to understand each role's desired expectations and you should answer in that format. For example, Talk about a goal where you wish you would have done better?
. If the question is for junior engineer then the answer would be limited to him/herself or at most a few peers. For senior-level engineers, the answer would be based on product or team-level impact. For staff engineers, the answer would be based on beyond your team's impact.
Let’s understand the different levels of role and responsibility.
Note SED1(L4)=Fresh engineer
, SDE2(L5)= Senior Engineer
, SDE3(L6)=Staff Engineer
and SDE4(L7)=Principal Engineer
Deal with ambiguity
To answer this leadership principle, the following are expectations from each level.
SDE1
- The expectation is, the problem is defined, but implementation is not defined.
- How did you deal with ambiguity in implementation?
SDE2
- Tech strategy is defined, but high-level design doc is not defined.
- Most of the time, you are expected to use the already used technologies stack and try to solve tasks.
- How did you design a component/module to deal with ambiguity?
- Once the design is approved, you will take care of critical work and other SDE1 will work with you to implement it.
SDE3
- Business problem is defined but tech strategy is not.
- It could be related to exploring new architecture to scale the system. Or could be moving to a new stack to improve the reliability. Or could be related to replacing existing tools/technologies/programming languages etc with new ones.
- You write the proposal and design split work into modules and let other SDE2 take care of the detailed design.
- You will also write details designs for critical components and will also write code for a few components.
- You will also work with other SDE2 to oversee overall progress and
SDE4
- Even Business problem is not defined
- How to solve is open
- They write to the product manager to discuss the solution
- Write the vision doc
Scope of influence
SDE1
- Limited to themselves or peers
SDE2
- Work on sprint planning
- Help SDE1
SDE3
- Influence entire team
- SMEs on some of the areas
- People start reaching out to them for mentorship
- Promo assessment for SDE1 & SDE2
- Role model for developers
- Influence the software architecture
SDE4
- Align more towards org, multiple teams
- Develop SDE3
- Influence the business and tech
Advising
SDE1
- Peers
SDE2
- Peers and SDE1
SDE3
- Manager, SDE1 & SDE2
SDE4
- VP, Manager, SDE1 & SDE2
Technical scope
SDE1
- Solves straight forwards problem
SDE2
- Scope increases
SDE3
- Complex problem
- The solution should be extensible
- Work towards simplification.
- Find the problem with the SDE2 design and simplify it.
- Looking at pattern
- Participate across team
SDE4
- Should be exemplary for everyone
- The endemic problem, is faced by multiple teams but nobody has a solution
- A force multiplier, solving the complex problem
Impact
SDE1
- Limited to the component/module
SDE2
- Large component or module
SDE3
- Team dependent to get the guidance.
- Significant application performance improvement
- Trade-off discussion on short-term and long-term
- If you only think long-term then you will not be able to solve the problem
- If you only think that short term then it will hurt you in future
- So better is, to think long term, and short term on what can be achieved
- Think what could be released faster to the customer
- Settings standard
- Create 10X to team
SDE4
- Large scale problem
- Solve algorithmic problem
- Come up with a new process
- Organize the things so that SDE3 works on it
- Process improvements
- Sharing the knowledge
- Disseminate the knowledge
- Go to various forums and present your team
Example to answer questions based on level and right format
Based on what we discussed so far, let’s go through questions and try to answer based on levels and using the CARL method.
Tell me about yourself.
SDE1
My name is XXX, I have 2+ years of experience working as a backend engineer using Java, Spring, Junit, Spanner, and GCP. I am currently working on XXX project with YYY company and wrote a module to support ZZZ user feature. In my spare time, I read engineering blogs from Uber to learn more about software design. I also participate in AtCoder competitive programming to improve my coding skills to solve problems. Your company XXX works on YYY challenging product and I feel like I will be able to contribute to the development of this project and get a chance to learn from others.
SDE2
My name is XXX, I have 5+ years of experience working as backend engineer using Java, Spring, JUnit, Spanner, GCP, JIRA etc. I am very much comfortable to work with Agile project methodologies to unblock myself and other faster and deliver product. While working at XXX company, I gained experience on implementing complex event driven system. Before XXX, I was working with company YYY on ZZZ. Your company XXX works on YYY challenging product and I feel like I will be able to contribute to development of this project and get chance to learn from others.
SDE3
My name is XXX, I have 10+ years of experience in the Software industry as a full-stack engineer with experience in backend, frontend, infrastructure, and automation. I have lead the team of 6+ engineers and took care of architecture and system design, coding, code review, work distribution, rollout, training, mentoring, recruitment and planning. Your company XXX works on YYY challenging product and have great engineering team. I feel like I will be able to contribute to development of this project and get chance to learn from others.
SDE4
My name is XXX, I have 15+ years of experience in the Software industry leading product execution. I have led the four products and took care of architecture and system design, legal, market penetration, process improvement, and planning. Your company XXX works on YYY challenging product and has a great engineering team. I feel like I will be able to contribute to the leadership of this project and get a chance to learn from others.
Tell me about a time when you handle a difficult technical challenge
SDE1
SDE2
SDE3
SDE4
Take the mock test
Mock test is the key to boost your behavioral interview or any other interview. Hire any private interviewer to get some help. You can also reach out to https://www.linkedin.com/in/gaurav-em/. He helps on mock interview at very reasonable cost.
Enjoy learning!!!