blog.

jchiroto.dev

cover

/dev﹥My thoughts on BQ

by jc-hiroto

on Tue Jan 02 2024

Sharing my experiences and insights on Behavioral Questions in SDE interviews.


This article is also available in

Traditional Chinese.

Please talk about a time when you had to deal with conflicts.

Should I honestly tell the interviewer about the time I argued with a team member during a project? How should I best phrase it?

In the software engineering community, it's common to encounter such questions during interviews, and some even prepare a long list of stories just to handle these questions (like me). If you haven't been asked this type of question or are preparing for an interview, I will share some of my experiences here, including techniques for answering, preparation methods, and some of my own stories.

What is BQ?

BQ stands for Behavioral Questions. These questions typically come up during the interview's conversational phase. Some companies include both technical and behavioral questions in one interview, while others separate them into different sessions. In my opinion, besides classic programming problems and system design, BQs are an essential consideration in interviews. For example, when I interviewed for an Amazon SDE Intern position, BQs and Technical Questions were combined in one stage, with the BQ segment taking up about 15-20 minutes of the hour. A few months ago, when interviewing for a New Grad position at Databricks, I encountered a separate 45-minute BQ session! Therefore, do not assume that just writing bug-free and smooth code is enough to get hired. Ignoring the importance of BQs or being unprepared can still affect the probability of getting the job.

I've heard stories on forums about candidates who didn't take BQs seriously in an e-commerce company's Online Assessment (OA) - even though they scored perfectly on the coding section, they still didn't get an interview. Of course, this is just speculation, and there could be other reasons for not being invited to the next round.

Why and What?

What do companies want to learn from BQs?

You might be curious about why companies ask or even emphasize BQs. I believe they seek the following information:

  1. Your skills and experience
  2. Your understanding and passion for the company and position, and how well you fit with the company culture
  3. Your teamwork, leadership, and conflict resolution abilities
  4. Your problem-solving skills and adaptability in the face of challenges
  5. Your ability to prioritize tasks and manage time

I think these skills are important for various professions, not just software engineers. Besides trying to get this information through various questions before hiring, companies may also assess these aspects during a probationary period.

Common Questions

Think about why the interviewer asked this question before answering.

Understanding the motivation behind a question allows you to accurately target the information the company seeks. Based on what companies want to know, we can categorize a few common questions. Here are some common BQs for New Grads I've heard or experienced. When you see these questions, think about how you would answer them.

  • Tell me about an interesting project.
  • I am interested in <something on resume>.
  • Tell us what makes you unique.

These questions are relatively easy as they are closely related to your personal experience. As long as your resume is genuine, you should be very familiar with its content. Try to describe your projects and details following the bullet points on your resume. Most interviewers will be interested in experiences that are:

  1. Relevant to the job
  2. From well-known companies
  3. Your most recent experiences

These experiences are likely a major reason why the company chose to interview you, so they'll definitely want to dig into the details to ensure you're familiar with the project content and haven't exaggerated your role or the project's scope.

Understanding of the Company and Position

  • Why <company>?

Besides being well-prepared about your experiences, you should also research the company! If you're applying to your dream company, your eyes will probably sparkle while answering these questions. Even if you're just casting a wide net and got invited for an interview by chance, remember to prepare well. Act as if you're interviewing with your dream company and show your enthusiasm!

I remember a nightmare question I used to encounter during mass applications:

Why us?

I'd queue these applications for later consideration. Although now with tools like ChatGPT, filling out such forms has become much faster. However, if you're applying to a company like Claude's parent company, Anthorpic, you might not be so lucky:

Anthropic's SDE application form explicitly states: "Please do not use AI to help write the application content... We also want to know your writing and communication skills without AI assistance."

Anthropic's SDE application form explicitly states: "Please do not use AI to help write the application content... We also want to know your writing and communication skills without AI assistance."

Towards the end of my mass applications, I became so desperate that I started seeing forms like this from Replo:

Finally! A company that understand candidates' feeling during job seeking hell.

Finally! A company that understand candidates' feeling during job seeking hell.

Eventually, I encountered the "Why" type questions at many companies and just wrote "I need a job.". This is a terrible example, but finding a job was so difficult in 2023-2024, please don't do this.

  • Why <position>?

Answer this question by referring to the job description (JD). Try to connect the job requirements with your abilities. If there's no JD, talk about your expectations for the position and what value you think you can bring to it.

  • What do you know about <company>?
  • Explain <thing>. Often related to the company's main business.

These questions are especially common in startups. When practicing for a friend's interview at a cryptocurrency startup, they asked candidates to explain what cryptocurrency and blockchain are. As written above, these questions typically revolve around the company's main business, so make sure you understand what the company does.

Adaptability and Problem-Solving Skills

  • Tell me about a challenge you faced. What was your role & the outcome?
  • How do you deal with vague/unclear instructions?
  • Tell me about a time you failed at work.

The question about a failure is particularly tricky. It's important because companies want to know how you handle difficulties and learn from failures. When answering questions about weaknesses or failures, avoid clichés like "I'm too serious," "I work too hard," or "I'm too responsible." The focus should be on what you learned from the failure and how you resolved the issue.

Time Management and Task Prioritization

  • Tell me about a time you had to work quickly.

Teamwork

  • What's the most challenging experience you've had working in a team?
  • Tell me about a time you disagreed with a coworker/manager/decision.

This Behavioral Interview Tips & Examples from Berkeley HR also categorizes common questions with more examples.

Preparation Suggestions

Everyone knows that answering BQs requires preparing a bunch of stories, but how do you source and efficiently narrate them?

Sourcing: Label Your Experiences

With so many questions listed above, it's unrealistic to have an experience for each one. In fact, interviewers won't ask every question, and one experience usually has multiple aspects and events that can correspond to different questions. I suggest labeling your experiences and, for the same experience, identifying events or insights that match the question requirements. For example, for my NTUCourse Neo project, I prepared points about working with tight deadlines, disagreeing with team members, and challenges faced. This allows efficient use of one experience to answer multiple questions.

Structure: STAR Technique

For the narrative structure of your story, the STAR Technique is a structured approach to answering behavior-based interview questions, mentioned in many interview guides. I'll briefly reiterate some key points here, providing an example themed around NTUCourse Neo:

💬 Situation: The context

Introduce the background of your story, including the project, company, team, etc. Simplify the background information into one or two sentences for quick understanding. This can include motives, goals, environments, constraints, etc.

NTU's course planning and registration website hasn't been updated for almost 20 years. There have been some self-developed alternatives in the past, but not all of them made a significant impact and some of them didn't last long. Course information is scattered across different websites and the user interface for inputting course priorities is difficult to use. They use dropdown selections for each course's priority, which can be annoying when students want to make changes.

🗒️ Task: Your objective

Talk about your goal - what you wanted to achieve at the end of the story. Simplify the goal into one or two sentences.

We are going to create a new course planning service within two months. We need to integrate deeply into the school's system to provide a better user experience. Additionally, we have to create a more advanced course planning logic and UI, which has never been done before.

🏃 Action: Your actions

Describe the actions you took. Think about these questions: What steps did you take? What was your contribution? Focus on what you did, not the team. Use "I" instead of "we."

I designed the API spec and the cloud infrastructure. I also proposed some frontend ideas related to user flow and UI. The infrastructure contains a static site, a backend container service, and a managed MongoDB. Additionally, I utilized Azure Functions, which is a serverless function service similar to AWS Lambda, to save computing resources. I integrated our endpoints using API Gateway to support a micro-service design architecture.

🎉 Result: The outcome

Think about the result: What did you accomplish? What did you learn? If possible, provide data to support your results.

The key feature of Neo is .... Since the end of last year, Neo has assisted over 10,000 students in course planning, and this project will be officially acquired by the university in Q3 2022. The team has collaborated with the computer information management division of NTU, making changes to certain features and currently migrating to a self-hosted infrastructure to align with university policies and standards.

Narration: Theme and Details

Remember the English composition technique of having a topic sentence and supporting sentences? This technique is also useful in answering BQs, as it helps interviewers easily understand your story. Start your story with a theme sentence, followed by details. This approach ensures your story is logical and easy for the interviewer to follow. Avoid narrating your story as a stream of consciousness; this can be overly lengthy and scatter the focus of your story. Details are essential to avoid sounding like you're making up a story. For example, instead of saying:

I solved some problems after reading some documents.

Be specific:

I resolved a Python version incompatibility issue by consulting Python documentation and discussing with colleagues, ultimately upgrading Python to version 3.9.7 to ensure compatibility.

The level of detail in your answers depends on the interviewer. If they need more details, they'll usually ask follow-up questions, so don't worry too much about this.

Direction: Guess What the Company Wants

As mentioned earlier, prepare by thinking: "Why this question? What information does the interviewer want?" and "What kind of person is the company looking for?" This will give your preparation more direction. For example, if you're applying to a startup, they might be looking for someone who can learn quickly and adapt to changes. Also, for companies with specific principles (like Amazon's 16 Leadership Principles), tailor your answers to include these principles.

Final Reminders

Knowing these techniques, you can organize your stories into bullet points or a script, ensuring you don't forget key points and can narrate efficiently. This is especially important for non-native English speakers; while you might improvise in your native language, it's harder to do so in English. Practice with friends to get feedback and improve your speaking skills. Here are my final murmurs of advice:

Don't Lie, Don't Lie, Don't Lie

You can't lie, but you can focus on favorable details. Just don't make up stories; they're easy to spot and can lead to more questions. For example, I was once asked about how I solved a problem using a signal handler, and the interviewer even asked which specific signal I used. Luckily, I remembered and explained it was a custom internal signal. This experience illustrates how interviewers focus on details, so don't fabricate them to make your story seem perfect.

Avoid Vague Answers

Ensure your answers provide concrete details. Instead of saying your project was popular, specify:

Our website had 200,000 users in a single month.

And describe details, not just gloss over them:

I resolved a Python version incompatibility issue by upgrading to 3.9.7 after ensuring it wouldn't affect other features.

Remember to Ask Questions!

The question session at the end of an interview is crucial. It's your chance to learn about the company and show your interest. Ask about company culture, team composition, work content, etc. Tailor your questions to the interviewer's role: HR-related questions to HR, technical questions to engineers.

I hope these insights help you prepare for Behavioral Questions and give you more confidence in interviews. Good luck with your job search and acing those interviews!

References

Carnegie Mellon University - Interviewing Basics
Berkeley HR - Behavioral Interview Tips & Examples
Amazon - Leadership Principles
Amazon - Prepare for your interview
Interviewing at Google: best practices, advice, and tips

The article is translated with the assistance of LLM.
本文章使用大語言模型協助翻譯。

Unauthorized copying is prohibited.
版權所有,未經同意請勿轉載。


關於作者 | About Author


author avatar

James Chang

@jc-hiroto

Software Engineer + Photographer

在灣區奮鬥的臺灣菜鳥工程師,平時除了寫扣也愛到處走走拍底片。這邊主要會聊一些關於軟體工程師的主題,同時也是我分享相片作品的地方。

A Taiwanese software engineer in the Bay Area. I love writing random code and film photography. This blog is mainly about software engineering and my photography works.

Copyright © 2024 James Chang.