Many great software engineers fare poorly at engineering interviews because interview questions often dive into topics like data structures and algorithms in great detail. However, much of this technical knowledge is not used at work or can be easily googled.
Furthermore, most interviews last under an hour, and to do well, you have to solve scaled-down problems quickly while explaining your thoughts clearly.
To make things worse, all of these happen when you are under a lot of stress.
As much as we dislike and disagree that grinding for interviews is not the best. However, the status quo is what it is. If you want to be better at interviewing, we handpicked this curated list of interview resources for you.
What happens behind the scenes when we type google.com in a browser?
That is one of the commonly asked questions during interviews. How the Web Works explained this, starting from when you hit "g" in the search bar, to URL parsing, DNS lookup, TLS handshake, server responses and view rendering. Some of these topics are common interview questions by many companies.
Read more at https://github.com/vasanthk/how-web-works
"What are the different types of Binary Trees? What are the Time-complexities for Quick Sort? How does Dijkstra's Algorithm work?"
This GitHub repository concisely compiled the different common Data Structures and Algorithms (Search and Sorting) into a cheatsheet. This is the go-to guide if you need a quick refresh on how these data structures and algorithms work.
Read more at https://github.com/kdn251/interviews
The System Design Interview can be daunting to many software engineers. Many engineers have never worked on a large-scale system before, so explaining how to design and build one can be even more challenging.
It covered topics like Consistency patterns, Availability patterns, types of Load Balancers, Databases (SQL v.s. NoSQL), Caching and more.
What's great about the System Design Primer is that it also recommends the best way to prepare for your interviews based on your timeline - whether you have an interview tomorrow or the next month, it gets you covered.
Read more at https://github.com/donnemartin/system-design-primer
Interview preparations can be extremely time-consuming. Brought to you by the author of the famous Blind 75 and used by 500k other engineers, the Tech Interview Handbook goes straight to the point and contains the essence of technical interviewing gathered by our Singapore-based author Yangshun Tay.
This site is for you if you are new to technical interviews or are an experienced engineer who has not been interviewing for a while and wants to kickstart your interviewing preparation.
P.S. Using this guide, Yangshun previously got 9 offers out of 11 top Bay Area companies like Google, Airbnb, Palantir, Dropbox, Lyft and more!
Read more at https://www.techinterviewhandbook.org/
Created by hiring managers who have worked at FAANG, it is a complete guide to master system design interviews and contains questions repeatedly asked at top companies. Some examples are designing Facebook messenger, API rate limiter, and Twitter search.
This course has helped 60k+ other users to crack their system design interview. If you are considering if it is worth paying, you can review the free sample topic on Designing a URL Shortening Service.
The open-ended nature of system design questions can make it even more challenging - what is the best way to approach it?
What we love about this book is that it uses a step-by-step approach to explain how to build a system. Instead of simply showing you the end outcome, it starts with a simple single server setup and slowly improves it to handle a higher load - everything you need to scale from zero to millions of users.
In addition, it teaches you an actionable 4-step process to tackle the interviews:
Sometimes, you want to know what to expect at specific companies you are interviewing. We got you covered.
We have also compiled interview processes and questions for some of Singapore’s top tech companies from various sources from users who have undergone the interview process from Glassdoor, Leetcode, forums and users we have interviewed:
So, you are a software engineer. Congrats! Your skills are in high demand and your salary reflects that. As more and more businesses require software engineer expertise, you can expect to see your salaries continue to increase.
But how do you know if you are underpaid?
Or how do you know you are not being lowballed for your new offer that just came in?
You can check out how much your fellow software engineers are actually getting paid on NodeFlair Salaries. It is a community-contributed salary data, verified with documents, such as payslips and offer letters. Within a few months since its launch, it already has the largest pool of verified and trustworthy tech salary data in Singapore.