During my job search post coding bootcamp, I’ve had several interviews covering a wide range of technical concepts and behavioral scenarios. Even as a junior software engineer, it’s clear to me that software engineers need a strong foundation in computer science fundamentals like data structures and algorithms, as they serve as the bedrock of technical interviews.
I naively thought technical interviews would always be centered around solving a Leetcode-style problem that companies use to assess your coding ability for efficiency, readability, and completeness. Yes, you will frequently encounter this type of interview, however, technical interview questions can run the gamut beyond a programming challenge. The best way to prepare for an interview is to feel prepared for whatever may be thrown at you. Of course, this is easier said than done, but every interview will only better prepare you for the next one.
Yet, it can feel like information overload on the internet with free and paid resources alike that purport to get you learning everything you need to know before your upcoming interview. Though I can’t speak about what is considered the norm in technical interviewing, I can only provide my own following observations and resources I found helpful.
Technical phone interview rounds have been more vague on what to expect, other than being told that I'll have to solve a technical coding question. As an example, I got this once from a recruiter, “(the coding question) will be in the areas of design, algorithm and/or data structure”, and the interviewer gave me a medium-level Leetcode problem to solve. Another time, a recruiter said I can anticipate “questions regarding computer science and operating system fundamentals” and I was asked to flex my object-oriented design skills with an open-ended problem on designing a library-like service.
In final round interviews, the recruiter or hiring manager was generally explicit on what I should expect for each interview session during the long day, even prepping me with sample questions. Perhaps this is due to the fact you’ve made it as far as you have (congratulations!) and they want to see you succeed.
Below, I’ve compiled resources I’ve found helpful when preparing for various types of technical interviews and resources found after the interview when I wanted to brush up more on the topic. Feel free to share any resources you’ve found helpful below in the comments!
**resource I recommend
** Interview Cake (paid resource for full course)
** Cracking the Coding Interview (book for purchase)
Cracking the Coding Skills PDF
HackerRank - Introducing Cracking the Coding Interview Tutorial and Practice
** Reddit - What Are Some Essential Technical (But Non-Coding) Interview Questions That New Grads Should Know the Answer To?
Cross-Site Request Forgery
What’s the Difference Between Single-Page and Multi-Page Apps?
Single Page Applications: A Powerful Design Pattern for Modern Web Apps
** W3C Accessibility Standards Overview
Things to Know:
- How systems boot and load Linux
- The shell, and how it interacts with the underlying operating system
- UNIX file systems and storage
- Process management and state
- The Linux virtual memory model
- Techniques for resource control
- Common system troubleshooting tools and techniques
not technical per se, but you will often get asked these questions during your technical interview, usually about collaboration and challenges, etc.