Author: Uniqtech Co.
There are simply too many questions to go through and practice. Mixed with stress and time limit in interview setting, it is a formula for disaster.
If we all had aunts and uncles who can program like gods, we would have to known to get better GPA's in our college data structure and algorithms classes. Or may be we should have started practicing on Leetcode starting last year.
What if we tell you data structure & algorithms interview questions can be solved with common coding patterns. Once you recognize these patterns, through practice, instead of learning 600 questions, you can now focus on 10-20 big patterns, each can solve 10 or more questions. This will save a lot of time and reduce your stress.
Let’s get started with this journey.
Overview of preparing for technical interview: the ultimate guide of technical interview (Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition [our amazon referral]) is written by Gayle Laakmann McDowell, who is a software engineer who was also a member of the Google Hiring Committee. The book is like the bible for technical interviews. Trivia: at Google, the hiring committee makes the final decision whether to hire a candidate.
Before you get started, try writing pseudo code and think through the problem before writing real code. Perhaps even come up with test cases and edge cases.
"More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. Data structures serve as the basis for abstract data types (ADT)" - wikipediaDuring interviews you are not tested on the exact implementation details. You will be tested on conceptual knowledge of when to use each structure, what are the pros and cons, and whether it suits the problem statement. Big techs also care about pairing efficient data structures with efficient algorithms.
Google used to ask brain teaser questions like how many ping pong balls can fit in a jumbo jet and what’s the best way to load them. They also found that those questions cannot predict candidate performance and promptly stopped. Now, interviewing at big tech is all about data structure and algorithms, Big O notations and optimizations - contents straight from college data structure and algorithm classes. Because big tech handles big data, and efficiency matters. These are also questions found on leetcode and hackerranks.
(Some tech companies, and plenty of consulting companies still ask brain teaser questions. We have two recommended books for this task. )
Like all aptitude tests, if you are a genius you will do well. If you study all the time you will do okay. However, they are hard for busy working professionals who don’t have time to study or have been out of school for a long while. These are very difficult questions for bootcamp graduates.
This guide is under development. Any feedback and corrections are appreciated. Contact us on the messenger tab Message US.
More content coming soon…
Data collections in Python: list [], set set(), tuple (), dictionary {}. Dictionary - flash card, pro tip by Uniqtech
Graph and trie are known as advanced data structures. Not all interviewees are expected to study those. FAANG companies care about big data and efficiency, so they likely will ask those questions. We recommend this free Graph Algorithm ebook for advanced users. Log in with your pro account to access.
Note: handling nested dictionaries, printing out files in a directory (also nested) are important warm-up exercises that we need go over soon.
Common technical interview Data structure tree, binary search tree (BST) Binary Search Tree (BST) common data structure Read all our trees on our Tree Algorithm landing page - Uniqtech Guide to Tree Interview Questions
Pro tips about python set, data structure
Dictionary has key, value pairs. There are restrictions on the keys, but the value can be many things. Dictionary Basics - Uniqtech Guide [Public]
When using dictionary as a data structure, there may be a time-space trade-off. Dictionary can do lookup fast, but it takes more space to store data. Read technical details about dictionary space tradeoff here. It is still a very useful data structure. It's popular in real life and in interviews. For example, MongoDB allows developers to look up a document in document store database by an unique ID. Dictionary keys are unique ID's, each key can pair with a value and the value can be a number 5, a list [] or another nested dictionary {}.
Trees are popular among top tech companies. They always appear in competitive interviews at FAAANG, Facebook Apple Airbnb Amazon Netflix and Google, companies.
Product Manager, Program Manager
Sample gaming data engineer job post - Twitch Get to know requirements for job engineer role at Twitch.
Stack basics flash card here Stack Basics. Intermediate stack knowledge here. Intermediate Stack
Deque is a special queue. Read about Deque Queue Basics here
Using pointers to solve interview questions. Pointers are very useful for solving interview problems. Even with scripting languages - Python, we can use pointer thinking to solve the problem more efficiently.
Pro tips for tackling search problems [Pro, paid members only]
Search problems - Uniqtech guide for handling search problems [best practice, pro tip]Binary search tree (BST) and binary search algorithm - Data Structure and Algorithms [PRO]
A base, simple search problem: finding target in an array/list of numbers. To do this, we can iterate through the list (for num in nums:), assigning each number to a variable called val (val = num), and then we check the val against target if val == target: return True. We will iterate through the list of numbers, if length is great than zero (if len(nums) > 0:). return False at the end. Code for linear search, list search - Uniqtech Guide Check out the code for linear search here.
Binary search is the holy grail of searching - one of the most efficient algorithms out there. Often hard to achieve in practice / in real world. Our medium tutorial on binary search Uniqtech Guide to Binary Search (Medium)
Tip to solve matrix problems: how to solve matrix interview questions : The ultimate pro tip for solving matrix interview questions in technical interviews. tags: technical interview, python, indexing, matrix, job, high quality [PRO] Matrix basics Next: The ultimate guide to solve matrix problems in technical interviews. [PRO, high quality tip] More tricks to solve matrix interview questions [PRO]
Nodes at end of a tree without children are called leaves. Leaves are useful as ending condition in tree traversal recursions in DFS for example.
Graph Basics: the basic components of a graph include nodes and edges (E). Nodes are also called vertices (V).
Graph traversal: We can categorize graph traversal by approaches: There’s depth first search (DFS) and Breadth First Search (BFS). Moving through the graph is also called traversal. We can also categorize by order: preorder, inorder and postorder.
Graph representation
Graph Big O Notation: often graph traversal and graph algorithms Big O notation is a function of both the Edges (E) and Vertices (V). For example, O(V,E). Sometimes it is more specific: O(V + E)
Graph use cases: Graphs are great for modeling networks such as cities, flights, social network.
Uniqtech Guide to Recursion and Dynamic Programming: one simple way to explain dynamic programming is solving a smaller subset of the problem - finding optimal solution for a sub problem, memoize it (note it down in a memo, cache), and use that to solve the bigger problem. The most famous example of using DP is solving the Knapsack Problem or Coin Change problem. We use a different example, more suitable here. Check out our pro tip for members Uniqtech Guide to solving Dynamic Programming problems Dynamic Programming (DP) is an important interview skill for big tech companies with big data like FAAANG (Facebook, Airbnb, Apple, Amazon, Netflix, Google) We explain how to solve DP problems in great details in this flash card. Pro members, message us if you have any questions. This is an important flash card.
Solving Fibonacci Sequence Technical Interview Questions Uniqtech Guide - Solving Fibonacci interview question (dynamic programming)
Some technical interviews ask about numbers series, patterns, formula. These seem scary at first but practice helps a lot. It's all about recognizing a familiar pattern. Numbers series technical interview 01 Numbers series technical interview 02
This section discusses how to handle rejection with grace / zen.
Rejection sucks. But even the best, the most famous people get rejected. Creator of popular tool homebrew famously tweeted and ranted about how ridiculous the Google interview is.
Big tech companies like FAANGs can ask for many skills and many years of experience because they can - they are so popular, too many people apply.
What does it take to get a job in Silicon Valley? Perhaps it starts with not being afraid of rejection. Yet rejections happen all the time. Check out this website where famous people got rejected, pretty harshly too. We will need to be comfortable with being rejected all the time and that is rough.
Finally, did you know there's a concept called ghosted by the recruiter? That's when the recruiter, who was totally in touch with you, suddenly stopped responding. It could be you are rejected. It could also mean a better candidate came along and is going through the process. Temporary pause or total rejection are both possible. Some send a reminder message to the recruiter after a while. After you make that splash, it may be time to move on.
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
— Max Howell (@mxcl) June 10, 2015
View this skill card to see famous / good developers getting rejected by their dream companies… a lot of them end up somewhere awesome later! These messages will make you feel a LOT better. If you experience negativity during job search, during work, please keep in mind you are not alone.
Did you know many great developers were once rejected? Perhaps by their dream company. Some were unfairly shamed - being told their skill was worse than bad. Being rejected by a job interview, by people, by people / companies you admire is extremely tough. We have all been there. We understand your pain. It gets better.
Returnship: "An internship-like program for experienced workers seeking to reenter the workforce after an extended period, particularly in a new line of work." - your dictionary.com
Big techs like Facebook, Google, Amazon offer mother who code, analyst mothers, data scientists mother returnships. These special programs are designed help those who want to return to the workforce after career gaps. Normally career gaps can reduce salary and hinder career development. These programs are designed to help. Career gaps can be hardship, pregnancy, childcare, care giving to elderly/ sick, lost of employment etc. Some companies even offer fertility treatment as perks/benefits.
An opportunity for those who left the workforce to become a mother, take care of a patient - being a caregiver, return to job force after career change. Big tech and FAANG companies are jumping at the opportunity to address this career gap, but their job post requirements are not exactly friendly as the mission statement.
Measuring time and space complexity of algorithms, data structure is very important big techs like FAANG companies.
"In computer science, big O notation is used to classify algorithms according to how their run time or space requirements grow as the input size grows.[3] In analytic number theory, big O notation is often used to express a bound on the difference between an arithmetical function and a better understood approximation; " - Big O notation wikipedia
Read our super pro tip on Big O Notation here. Tips for how to tackle Big O notation in technical interviews. Tips for Big O interview questions. Big O Notation pro tips - Uniqtech Guide Technical Interview
Some commonly overlooked career resources are : your college, university or school's career center, alumni job board, job postings in meetups and professional groups.
Getting the most out of developer conference, career conference.
Behavioral interview question. Our favorite question is to ask people: what blogs or developers do you follow? This question is common among other tech companies too. Because not only we can learn from you, we also get a sense of your professional taste, style and standard. This question can give some surprising insight to cultural fit. We also have a simple encryption exercise for you. Message us to get the question and answer. It's great to talk about professional hobbies, puzzle solving, competitions at coding interviews.
Tech companies love people who solve puzzles and play board games. Those hobbies go well with the problem solving nature of software engineering positions.
Writing data science, machine learning resume How to write a data science resume
Here’s a little encrypted puzzle, Stanford CS106A instructor Juliette Woodrow presented to students. How to solve it?
The above mentioned encryption mini exercise. This is a fun one. Give it a try. Let us know if you can solve it by messaging us on the message tab. We can give hints.
NEWS and TRENDs Are tech companies leaving San Francisco and New York for Austin?
Mapping tech exodus out of San Francisco. Is it true that companies are moving out of SF? Here's a dashboard created by SFCiti that tracks the great tech exodus. Could NYC, Austin, Seattle be the next tech hub?
Build a portfolio How to Create a Github Portfolio Page - Uniqtech Guide
As artificial intelligence gains popularity, reinforcement learning and simulating robot environment skills become very important. Coding those apps share many commonality with game development : track game states, strategy, game board, determine win or loss. PRO paid members, message us if you need more info.
Common Errors - Uniqtech guide on medium
Github is an online platform that hosts code repositories and their version history Git. Github is your new resume. Future employers and recruiters come here to see your: recent work, contribution, code style, code languages, comments, and how many days do you contribute to open sourced code. Basic Git Commands Flash Card by Uniqtech
According to our search, SQL is still very popular on job postings. Learn SQL part 1 Getting started wtih SQL , Create Read Update Delete (CRUD) Uniqtech Guide
In research, you may meet statisticians and data scientists who use R programming language.Uniqtech Guide to R Programming, Data Science with R
Palindrome solutions (Uniqtech Guide - Technical Interview)
Handling ASCII characters Solving ASCII technical interview questions - Uniqtech Guide