According to AIM Research, business analysts ( 38,974), data engineers (34,566), and data scientists (19,457) accounted for the bulk of open jobs in analytics/data science domains in April. Meanwhile, deep learning (10,564), NLP (8618), computer vision (5810), and AI/ML engineer (2215) roles comprised most of the open jobs in AI.
The demand for techies is on the rise, especially after the pandemic sparked a groundswell of digital transformation across the globe. As a result, the AI & data science ecosystem is awash with job opportunities. But domain knowledge and experience are not enough to crack tech interviews. Catalin Pit, a software engineer at Hasura, has listed 7 Github repositories he found useful to ace interviews at big firms.
Coding interview university
This repository is a study plan for software engineers. It will help techies prepare for interviews at big companies like Google, Microsoft or Amazon. The multi-month study plan has an in-depth analysis of data structures, algorithmic complexity / Big-O / Asymptotic analysis and object-oriented programming. As per the creator, following the guidelines in the repository helped him land a job as a software development engineer at Amazon.
Technical interview handbook
The Technical Interview Handbook covers technical and non-technical aspects of cracking a tech interview. The handbook takes you through the A-Z of tech interviews. The chapters include: how to write resumes; how to land interviews; coding, system design and behavioural interview preparation; salary negotiation; online coding assessment and mock coding interviews; and algorithm cheat sheets.
The system design primer
System design is a major component of the technical interview process at many tech companies. This continually updated, open-source project is a collection of resources to help you build systems at scale. In addition, you can practice common system design interview questions and compare your results with sample solutions. The repository also has discussions, code, and diagrams.
Additional topics for interview preparation include:
- Study guide
- How to approach a system design interview question
- System design interview questions, with solutions
- Object-oriented design interview questions, with solutions
- Additional system design interview questions
Interview resources
The repository lists links to other resources categorised by topic. It also mentions books and articles on various topics such as coding practice, algorithms, languages such as Python, JavaScript, and a bunch of extra materials like crypto. It also suggests similar repositories at the end.
How to secure anything
Security engineering involves dealing with disruptions and securing the systems against malicious cyber threats. In short, a security engineer is the organisation’s first line of defence.
To land a job as a security engineer, you need to have expertise in a wide range of fields, from cryptography to economics to applied psychology. This repository covers security engineering, security policies, security models, etc.
How the web works
This repository will help you understand what goes behind the scene when you type something on your search browser. It covers topics such as HTTP protocol, HTTP server request handle, server response, rendering engine, parsing basics, and CSS parsing.
Javascripts algorithms
Given Javascript’s prominence, mastering some popular Javascript algorithms or learning to improve data structures have long-term benefits. This repository contains JavaScript based examples of many popular algorithms and data structures. In addition, it has explanations and links for every algorithm and data structure listed. The repository is available in multiple languages.