Table of Contents
- Daily Newsletter
- Changing Days
- Approaching the Challenges
- Run Tests/Run Code/Reset
- Code Visualizations
- Edit Challenges
- Submitting a Lesson
Thank you for joining the AlgoDaily community! It is our mission to democratize careers in software by helping developers get better at interviews and sharing hard earned lessons from working on various software engineering teams.
This article aims to explain what we're all about, and answer several questions that are frequently asked.
The AlgoDaily philosophy is this:
To do something is better than doing nothing. Small steps taken at a regular interval (such as daily) makes it easier to be consistent, which is the key to improving anything.
Systems, rather than raw willpower, help you achieve your goals. You need something that is automatic, hard to avoid, and predictable (like an email).
Quality is truly more important than quantity. To learn well, our users need to really wrestle with the question without any hints-- at least at first. When it comes time to understand a good solution, you should go all out-- efficient solutions, step by step explanations, and code visualizations ensure internalization of the pattern.
You need some form of external motivator-- either deadline based, or social pressure-- when times inevitably get rough or you lack willpower. Can you get on our leaderboard?
When you register for the website, you are defaulted into the daily newsletter (if you leave the subscription box checked).
Every day, you are sent a daily challenge from our list of challenges. The challenge sent is based on where you are in the curriculum.
When there are no more challenges, you stop receiving emails until we add more.
You are free to change the day that you are currently on at any given time. This can be done by going to the
Settings tab and changing your "Day On" attribute.
Approaching the Challenges
I highly recommend you read the following two lessons. They will provide you with some context in approaching the problems, especially if it's your first time interviewing.
The daily newsletter will provide you with the question prompt of that day's coding challenge. We recommend you take the following approach to try to solve it:
- Read through the question in the email, and think about an implementation.
- Write a solution out by hand, on a piece of paper. This is extremely important, especially if you want to do well in whiteboard interviews.
- Click the link in the email, or navigate to the challenge on this platform. Wrestle with the problem for a bit, and see if you can code it out.
- Try to get all tests passing with your solution.
- Read through the explanation and step through the solution in the visualizer.
- Share and teach! Try to help others with solving the problem in our forum. If you spot something off, feel free to edit it!
Run Tests/Run Code/Reset
Click either of the blue "Run Tests" or "Run Code" buttons. The first will run the test cases against your inputted code. The second will run just your code with no test cases-- be sure to
console.log out your print statements!
RESET any time you want to reset. Note-- if you see something unexpected (we save your work to your local storage), hit
RESET to get back to the original code state.
Click "VISUALIZE SOLUTION" on the left of any challenge to view the visualizer. This is a beloved feature by many in our community, as it allows you to step through a simple input with an algorithm.
Note: Not all problems include this yet!
There's two ways to "complete" a problem:
- Click "Mark as Completed" under the Challenge title. Note-- you'll need to be logged in to do so.
- Run tests-- if all test cases pass, it'll automatically get marked as completed.
Marking challenges as completed lets you keep track of your progress, and helps you climb the leaderboard.
Yes, you can edit challenges! If you see something incorrect, or want to contribute more to the question, test cases, solution, or walkthrough-- just click "[EDIT]" on the upper right corner of any question.
This will bring you to a CMS where you can edit the challenge to your liking. Note-- all submissions get reviewed, usually in under 24 hours.
This shows the users with the most completions, and longest streaks. It is updated multiple times during the day programmatically.
These are essentially our blog posts. They can be accessed here.
Submitting a Lesson
Would you like to guest post? Email your article to email@example.com, and we'll review it!
Topics often include (but are definitely not limited to):
- Technical interviews
- Algorithms and data structures
- Software engineering careers
- Books and book reviews