There's so much content on AlgoDaily now-- this is great for longer term study, but what if you need something short and quick? Or what if you've gotten the fundamentals down, but just need a quick refresher?
I'm excited to launch a new, much asked-for feature: Technical Interview Flash Cards.
These flash cards provide a broad overview of software engineering interview concepts, let you filter by topic, and are 100% free to use and practice on.
Since 2018, AlgoDaily has been one of the most sought after resources online for technical interview prep. All told, over 20,000 of you have used the site to prepare for interviews, and hundreds have written to us about the jobs you've landed as a result.
Since inception, we've added hundreds of tutorials, videos, and visuals on must-know topics like big O-notation, data structures, and algorithms. But you may have noticed a few interesting additions in the past year: lessons on systems design, OOP, and even machine learning?
One of the most important aspects of our operations is to stay on top of industry trends. We regularly track what types of assessments companies are using to gauge skills, talent, and fit. And we've determine that it's official-- there's a move away from whiteboard, leetcode-style interviews.
Apart from the elite FAANG companies, most tech companies have seen the backlash against self-contained algorithmic challenges and are trying different things during coding interviews:
So does this mean practicing algorithms and data structures is now useless? Nope, not quite.
Note that in the above list of alternatives, you'll still be tasked to exercise your problem solving skills-- only on more practical examples.
You're less likely to be asked to implement a trie, but more likely to have to know how to use a tree class's APIs to model a folder hierarchy. These fundamentals are still necessary, but may not be sufficient. While you may not need to go deep on advanced data structures, interviewers will want to see a combination of good OOP design, UI considerations, clean fundamentals, and much more practical skills.
We want to make sure your bases are covered, and as such, we're expanding our vision. We've split up our curriculum into 10 self-contained courses, all geared towards bolstering your career and helping you land your dream job. Systems Design and Architecture will walk you through the fundamentals and architectures of data-intensive applications. Our OOP course gets you familiar with how to design better programs.
Over the next few months, we'll be filling up these courses with new tutorials, videos, and visuals weekly. As with the algorithmic challenges, we'll shortly support having a lesson from each course emailed to you daily, for easy consumption. Eventually, we'll be adding more courses as well-- all fundamentally helping you achieve three sets of career goals:
Once they're more fleshed out, our courses will be sold separately to help folks zone in on one area of focus. Current lifetime members have access to all existing courses. And for now, all courses remain bundled in the AlgoDaily Premium Package, now heavily discounted-- 10 courses for the price of one.
We've added three incredibly useful new features to help you land your dream job! With the help of feedback from our wonderful community, we continue to make AlgoDaily the world's best one-stop shop solution for coding interview prep.
We hope you like what you find, and that it helps you feel more confident in tackling technical interviews. Here's what we've landed:
Want To Save Your Solutions? Export Them in Bulk
Many students create GitHub repositories for their AlgoDaily solutions. This could be for reference down the line, or to create a portfolio of code samples. Regardless, we'd like to make it easier for you. You now have the option to easily export all your solutions on the settings page.
Selection Menu to Share, Lookup, and Read Via Speech to Text
AlgoDaily has text content-- LOTS of it. The students who derive the most out of the course tend to be active readers; that is, they like to play with the materials by highlighting, writing it down, sharing quotes, etc.
Now, any text selection on the site will trigger a helpful menu that let's you share the quote on social, look it up in a small window on Google, translate the text, or even have it read to you!
Clip and Save Screens as Notes
Finally, we're thrilled to announce we're building out a flash cards feature. Eventually, you'll be able to review concepts with spaced repetition. As the first iteration, you can now clip and save chunks of content in each tutorial to Notes in the right hand side. To do so, hover over any floating note icon to the upper right of a content blob, and click "Add to Notes". In the future, you'll be able to save all your notes in one place, and render it as a PDF.
Some of these features are exclusive to premium members.
We continue to aggressively add more lessons -- huge haul this time. We are committed to getting you your dream software engineering job by teaching you what you need to know to crush interviews. I've seen this barrier be broken and move thousands of people from poverty to upper middle class. It's insane the level of leverage mastering this material has.
You spend 1/3 of your life at your job. Shouldn't it be one of the best in the world? Do the work, get prepared, and let's take over tech.
Longest Substring With No Duplicate Characters - Given a string of characters, can you find the longest substring of the string that has no repeating characters?
Examining the YouTube Architecture (premium) - This lesson aims to uncover how a large-scale application such as YouTube operates. More specifically, we will examine the entire system architecture, and understand the different components involved in the process. We will also have a look at the algorithms that internally work within YouTube that are responsible for personalized user content.
Classical N-Queen Problem - Suppose you're asked in an interview to design an N-Queen problem solver. This is a generalization of the world famous 8-Queen Problem. The given board will always be a square. It is proven that for n > 3, there is always at least one solution.
Potential Bottlenecks in Software Performance Testing (premium) - In this lesson, we will consider the five most common bottlenecks that occur in applications during the performance testing phase. Rather than focus on small programs, we will consider an example of an application or software and understand the performance tests in this context.
From Byte to Gigabyte to Petabyte: Understanding Data Size - To effectively store data on computers, it is important to know how the storage mechanism of computing systems takes place. To utilize computing resources effectively, data sizes are an important understanding.
Shortest Path Distance in Matrix (premium) - You are given a 2D matrix with several characters contained in its cells. You will also have two distinct characters which are guaranteed to be in the given matrix. Your job will be to find the minimum manhattan distance between the two characters in the matrix.
Not a premium member? If want to earn more, work with brilliant coworkers, and impact the lives of millions-- consider getting lifetime access today at our discounted rate-- as stated previously, all lifetime AlgoDaily members will have access to SystemsDesignDaily (our 90-day drip systems design course) at the time of its launch in 2-3 months..
We continue to aggressively add content to help you land your dream job. Nothing fancy here: just go through the tutorials, do the work, and improve as a developer.
Database Isolation Levels - Data/information is important for anyone, and databases are responsible for holding that crucial information. Hence, the security, integrity, and consistency of all values within them must be ensured. For this purpose, databases should have some specific properties. This tutorial discusses one such property of them, that of isolation.
Counting Univalued Subtrees - We are given a binary tree. The challenge is to count all the univalued subtrees in the tree. Just to recall, a subtree is any node along with its descendants. The root and all its descendants form the entire tree. A univalued subtree is therefore a subtree in which all the nodes have the same keys.
The Two Coloring Graph Problem - Given a graph, can you use two colors to color each node of the graph, such that no two adjacent nodes have the same color?
These tutorials are free for now, but will eventually be exclusive to premium members. If you like our interactive, visual tutorials, consider getting lifetime access today at our discounted rate-- price goes up sharply Monday night.
We'll send you 100+ of the most common coding interview questions, once a day with visual explanations. Join over 53,000+ users who are doubling their salaries in 30 minutes a day.
Welcome to the most accessible guide to technical interviews. AlgoDaily was created to be a gentle, visual introduction to patterns around solving data structures and algorithms challenges.
We believe that technical interviews are a matter of practicing well. We've referenced hundreds of resources on habit change, education design, and algorithms to design the best and most streamlined learning experience.