Cracking the Technical Lead Interview

Anvita Shukla
5 min readMay 29, 2021

As one progresses in the field of software engineering, cracking technical interviews becomes more challenging while making job changes. The needs of every interview and company are different, hence every interview becomes different.

Some organizations pay immense focus on solving coding problems while some pay less. Overall as a technical lead, one doesn’t get time to be hands-on 100% of his/her time. Moreover, there is no specific formula to crack these interviews quickly and land on a progressive and challenging job, but below are some common trends that I discovered after giving around 15 technical interviews with great companies including Coursera, Square, HSBC, Loblaws Canada before landing at a high paying role at a growing organization -

1. Coding

There is no doubt about the fact that companies won’t test you on your coding skills. Some are specific to the level of programming language such as Java or Python and some are much more flexible. Anyhow, coding interviews are always part of the process even for Technical Lead roles and one should prepare for them regardless.

Some platforms that really helped me prepare and ace these interviews are -

a. LeetCode

b. GeeksForGeeks

c. Codility

If you have had your hands dirty at LeetCode easy/medium problems, and GeeksForGeeks medium/hard problems, I am confident that you would be able to crack many interviews.

2. System Design

A great part of a lead’s role is to build or contribute towards good design and scalable software architecture. Every organization would have different needs, but surely knowing good system design helps in acing the interviews. Following areas are covered in such interviews -

a. API design contracts

b. Database design

c. Interaction between services (a lot on microservices architecture side these days)

Some really useful resources I came across that helped me during my journey are-

a. Gaurav Sen videos over Youtube

b. Martin Fowler readings

c. Chris Richardson readings

3. Projects

These days, many organizations conduct interviews wherein they ask to create backend projects with logic baked in them for evaluating the coding and debugging skills of the person. They may ask for database connectivity too in projects or may want front-end to be integrated as well in these projects.

Overall, practicing creating such projects on your own before interviews is extremely crucial to ensure that there are no/minimal hiccups during the real process. If its about Java projects, https://start.spring.io/ is the way to go to create Spring Boot microservices from scratch and I found Tech Primers Youtube channel extremely helpful in helping me understand and create some really good projects, all from scratch and quite quickly as well.

4. Previous Work Experience

Any organization, be it large/small is looking for problem solvers and people who have done work from scratch. So its highly important, especially to progress well on techno-behavioral interviews and be ready with answers to such questions -

a. Most challenging project/Projects you are proud of and why

b. Mentoring experience, making your team members more capable

c. Challenging experiences and production level issues

d. What to look for in code reviews

e. Mistakes done in the past and learnings from them

f. Strengths/Weaknesses

g. Hiring experiences, what do you look for in potential candidates

If you have some solid answers to the above questions ready especially for rounds with Engineering Managers/Directors, your chances of progressing to next rounds increase without any doubt.

5. Some other focus areas

The above points cover a lot of ground with regards to the hiring processes companies follow, but some other areas to focus on given the amount of time you may have would be -

a. Design Patterns

This is one area that a lot of organizations cover in some or the other way as part of side questions, so its good to have them somewhere in your preparation list if not on the top

b. Microservices concepts

Some companies do ask questions around microservices design pattern and how services within the system would interact. I have been asked questions around tracing requests, observability, fault tolerance, authentication, securing passwords and sensitive information in few of my interviews. So make sure to brush up these concepts too. This article from medium.com by Lal Verma helped my prepare for these concepts better over time.

c. Code Reviews

On one of my interviews, I was asked to do a code review for a Git PR. As a technical lead , its part of the daily work, but here are some good resources I discovered to help me better with the interview -

1. Google Code Review practices

2. Stackoverflow Blog

d. SQL

SQL may not be our focus area to concentrate on during software engineering interviews, but this is a good one to keep in mind and brush upon whenever you are not in a mood to do coding or system design especially joins, group by, sub-queries.

5. CI/CD

A frequent topic that I have come across in many interviews is to describe my view on a better & modernized version of CI/CD process. Now, every organization has its own way of thinking about this, some have a separate DevOps group to take care of CI/CD processes and some may have the team own this part of the project. Needless to say, this is an important topic to keep in mind because the hiring person is trying to gauge your knowledge on some plugins such as SonarCube, JSLint, FindBugs , CI strategy at your company, containers and orchestration using Docker & Kubernetes, CI/CD work on cloud or any experience on pipelines, scripting you may have done with Jenkins or any other CI/CD server.

I understand that the above is a lot to take in all at once and focus as well. So this will come with time and as you progress in your applications and interview processes. Overall, it is a journey and always a learning phase. Personally I have learnt a great deal as a lead myself during my preparation period and I have summarized my experiences in this reading.

I hope you find this reading useful and it takes some pressure off with regards to the preparation strategy. Moreover, always have faith in yourself during the preparation and analyze whether the interviewing company is a good fit for your experience or not.

Wishing you the best in landing the next job, keep prepping and interviewing!

--

--

Anvita Shukla

Software Engineer by profession, travel lover by heart