The second-stage of a software developer interview

The second-stage of a software developer interview

Preparation is very important.

Brainteasers are no longer used in software development interviews because companies have realized they are not the best way to find engineering talent. They were used to reveal logical thinking and creativity, but they have since been replaced.

"We want to avoid gotcha-style questions that are totally irrelevant to your role," said Ben Picolo, engineering manager at insurance marketplace Policygenius. "That's something we're definitely focused on, because we don't think everybody has to fit inside a single box."

Job interviews may vary from company to company, but they all assess the same qualities in candidates.

Questions usually asked during the second interview

  • Coding challenges
  • System design questions
  • Questions about past projects
  • Cross-Functional Portion

Many companies require candidates to pass a screener interview before moving on to the next stage of the process. Before the outbreak of the coronavirus pandemic, the second stage of interviews was usually conducted on site and could last for a whole day or several days. Companies assess candidates' technical and behavioral skills, often introducing them to employees from different departments. Although interviews are now mostly virtual, they still involve the same assessments.

The second interview is a very important step in the hiring process. Nervosity is normal, although it can be lessened by preparing the following:

Coding questions:

  • Given a list of integers, write a program to find the integers that are uneven.
  • Given an array of integers and an integer target, return the indices of two numbers in the array whose sum equals the target.
  • Find the smallest and largest numbers in an unsorted array of integers.
  • Write a program to reverse a string in place.
  • Write a program to find duplicates in an array of integers.

According to Picolo, the interview process for software developers almost always includes a coding assessment; in the past, these assessments would often take the form of tricky algorithmic questions, but this is no longer common practice.

"Questions that are very algorithmic in style are more likely to be geared towards recent graduates from college who have completed a computer science program," he said. "This can exclude people with other backgrounds and also more experienced engineers."

This is due to the fact that, while computer science students are taught algorithms in school, developers don't actually have to deal with algorithms often in their work.

The difference is that companies are using coding problems to observe how candidates code, instead of using difficult algorithm challenges to eliminate candidates.

Alicia Gansley, a senior engineer at Chainalysis, said that her company tries to avoid using questions that are "designed to just trip people up or where you have to know something specific going in."

What is your opinion on the idea of designing questions to test a candidate's thought process, as opposed to testing pre-existing knowledge?

Chainalysis provides candidates with algorithmic problems, such as finding palindromes from a list of integers. The interviewer is there the whole time, asking questions and helping point the candidate in the right direction as needed. Gansley said that, especially for less-experienced candidates, she pays attention to how they receive advice and their willingness to collaborate. Struggling to find the answer on your own isn’t necessarily a deal breaker, but refusing to accept help might be.

"In the coding interview, we are testing for problem solving skills and humble, collaborative candidates," she said.

Gansley recommended that candidates use LeetCode, a website for practicing technical interview questions, prior to heading into coding interviews. And while interviews are remote, it is also a good idea to practice using online whiteboards as well, since navigating them during an interview can be awkward.

It is not expected that candidates can ace these interviews without practice, Gansley said.

System Design Questions:

  • Design a URL shortening service.
  • How would you structure a system for buying and selling coffee?
  • Design a system like Twitter.

A software developer's job entails more than just writing code. They often encounter architectural issues at work- questions about how to structure software projects to achieve their desired goals, the types of databases that should be employed, and how services should communicate with one another. Businesses face these types of problems every day, which can have negative consequences for the system's efficiency, security and maintainability over the course of the project.

To assess candidates' system design skills, companies have them talk through the design process with interviewers instead of write code or pseudocode.

What types of interview questions would candidates with different levels of work experience be asked?

Picolo said that experienced candidates may receive more open-ended questions.

"An example of this might be if we have a problem with our current system not being able to handle a larger volume - what do we need to do to our architecture so that it can support our business goals?" he said.

On the other hand, entry-level candidates may get questions such as designing a sales system for a coffee shop.

Questions about past projects

  • How did you contribute to your last project?
  • What are some tasks you struggle with, and how have you built the skills necessary to accomplish them?
  • Talk about a time you faced a setback on a project, and how you dealt with it.
  • Talk about a project you’ve worked on that you’re most proud of, and what you did that worked well.

Candidates who can talk about their previous projects are more likely to be hired. “It’s important to me that a candidate understands the ‘why’ behind the decisions made,” Gansley said. “Why the project is being done in the first place and how it’s benefiting the company.”

Interviewers want to know how you made design and technical decisions on previous projects, and what trade-offs you were willing to make.

She also looks for whether candidates understand how their work impacts people in other departments of the company; this is something that is very important to her.

This is a great way for engineers to stay aligned with the goals of the project.

It's important for candidates to understand the purpose of the code they are writing, so that companies can avoid problems later on.

The Cross-Functional Interview

  • Describe your working relationship with your previous product manager.
  • Have you ever worked in a cross-functional environment?
  • How did you coordinate work with co-workers in other departments at your last job?

Candidates who take the time to meet with employees from other departments are more likely to be successful in their interviews.

Cross-functional interviews not only assess a candidate's ability to interact with other parts of the company, but also give other departments a voice in how the company grows.

This interview is a chance for us to get to know each other and see if we'd make good team mates.

“It’s a conversation not just to see if we’re a good fit for each other, but also to get to know each other better,” he said.

It's important to ask candidates about their past interactions with product managers to get a sense of how they would fit in with the company culture.

"Product managers who are assembly lines for tickets are missing out on opportunities to be great," Picolo said.

Don't panic if your past experience isn't exactly the same as the company you're interviewing for. These interviews are designed to help you understand the company culture and see if it's right for you.

Our engineering roles are not just about hard coding problems all day. We want to make sure that both sides are having the right expectations for each other

Relax and Enjoy

Make sure to ask questions in your next interview! It's a great way to learn more about the company and see if it's the right fit for you.

You should always be prepared with questions about the culture in an interview, but this is especially important when interviewing for a remote position.

“Remember, everyone has bad interviews sometimes. Just relax and enjoy learning about the company.”

Developer Jobs in Austria

This might also interest you