*Scroll down for the mega list of free resources for technical interview prep at the end! Good luck :)
UPDATE: Added a new version of the interview cheat-sheet that can be downloaded & printed, and added new resources for data structure review!
Technical interviews are tough. Especially when there are about a million different questions they can possibly pull on you — it can feel impossible to be well-prepared. This guide aims to help you plan your review before your next big interview!
While I am no expert on technical interviews, I’ve gone through this interview-prep process twice each school year and have successfully gotten internship offers after interviews from both small and large companies. These questions are a mix of actual interview questions I’ve seen and also what I personally think is important to review. …
Rejection invokes feelings of shame, embarrassment, and regret. It is entirely natural for us to avoid circumstances (like interviews) that will lead us to these negative emotions at all cost.
However, on the other side of the fear of rejection — we have the possibility for major wins in our careers, ambitions, and goals! Why should we let our irrational anxiety be the gatekeeper for our success?
I want to share with you some tips and the mindset that helped me stay grounded when I was faced with the unfortunate reality of rejection.
First thing’s first — get it in your head that everyone gets rejected. …
Background: Awful at math (with a C in calc) and still under the impression that you needed to be a math wizard to excel in CS
Introduction to Computer Science (CS 111)— Intro course for CS majors that taught logic, assembly code deconstruction, basic algorithms (like binary search), recursion, and other fundamental topics using Python.
Bad Day: My CS111 Final …
What happened? …
Remember that interviews are a two-way street — they’re an opportunity for the company to assess your background and skill set, but also a chance for you to see if the company is the *right* fit for you!
(short backstory) I recently finished the soul-sucking process of interviewing and after completing over 30 interviews (from screener to final round stages) — I’ve found what questions worked best for me and helped me learn about the company. I’ve categorized and listed these questions below, along with general tips that may help you pick which values to ask about. good luck ❤
It’s great to use interviews to learn about the work environment and see if the fit is right for you! However, remember that as a candidate, you’re still trying to secure an offer — until then, you do not have any leverage. Just remember that once you secure the offer, you’re free to ask as much about the company as you’d like! …
Choosing the right method of communication is an important first step.
Speaking directly with your recruiter is the best way to communicate how you’re feeling about the opportunity and also hear out how your recruiter is feeling and thinking in terms of negotiating.
In most cases, you will initially learn about your offer from a phone call with your recruiter. Following up with a request to talk about the offer in more detail over a phone call is very doable and your recruiter will likely be happy to talk again.
If you’re extremely introverted and are much more comfortable with communicating through email, that is also a totally fine option. As long as you take the time to explain your thoughts & feelings about the offer and mention any concerns you have, you should be able to negotiate via email. However, you should still be prepared for when you recruiter asks if you can talk about the negotiation over the phone. …
A safe go-to recipe to figure out how to make any problem more manageable.
The easiest way to make sure you understand the question is to walk through test cases.
Things to clarify with your interviewer:
What is the expected input? What is the expected output?
Any assumptions you may have about certain test cases
After walking through test cases, make a note of any variables you should keep track of and what kind of data structures would make the most sense for this problem.
After you figure out your algorithm and explain your logic, the next thing for you to do is translate your idea into code. …
Short and simple example that illustrates the benefits of MobX!
Let’s say we have an app keeps track of a list of all the dogs we’ve ever pet. This basic application will have 2 different views:
Our app should change & render differently based on which view our application currently has. So how can we do this with MobX?
For any dynamic application that takes in user input, we need a way to keep track of these actions & events.
In our case, if we meet a new dog and want to add him to the list, we need some way to keep track of all the dogs’ names. …
P: problems that can be solved in polynomial time
NP: non-deterministic polynomial, i.e. for any NP problem — if we are given a possible solution we can verify if it is valid or not in polynomial time
NP-Complete: subset of NP problems where there is no known efficient method to find the solution
In general, it’s easier to understand a concept when you know the why behind it. So what is the why we need to remember when doing NPC proofs?
Our goal: To show that our problem is just as difficult as a known NPC problem, or alternatively to show that all instances of a known NPC problem can be reduced to our problem.
Why does it matter? If we know our problem is just as hard as a known NPC problem, then we know that there is no efficient way of finding the solution. …