Days
Hours
Minutes
Seconds
Are you a JavaScript and programming guru? Are walking through algorithms like walking through a park for you? Put your skills to the test on 10/15/22 in our JavaScript competition and win a 1 year free subscription to our service, and recognition on foo.software for life!
Sign upAdvanced combo subscription: 1 year free ($1,800 value)
Photo and short bio listed on our winners page (coming soon)
Standard Lighthouse subscription: 1 year free ($60 value)
Photo and short bio listed on our winners page (coming soon)
Photo and short bio listed on our winners page (coming soon)
Disclaimer: Previously, there was a $500 cash prize and a $10 entry fee, but we've decided to omit both.
Foo's JavaScript Competition will be held online:
October 15th, 2022 at 12pm EST
Sign up to enter. Take note of the email you use to signup as it will confirm your spot when submitting answers.
At exactly 12pm EST on 10/15/22 this GitHub project will have the real challenges as a new commit (but no sooner). Once the real challenges are pushed, your time begins. Pull down the latest onto your computer and get a move on it!
There will be 5 challenges. Each will test your general programming and JavaScript skills, including algorithms, problem solving, data structures, etc. The challenges will run in a Node.js runtime. The goal will be to make unit tests pass. Refer to the the GitHub project as the source of truth for latest technical details of the competition. We recommend "watching" the repo.
Once the challenge is completed, participants should commit and push changes to their private fork, use 'git log' to find the most recent commit sha, copy and paste it in an email to challenge@foo.software. The time we receive your email will count as the time you completed the challenge. And the sha you send must be your last in the project. You will also need to add "foo-software-bot" user as a collaborator. Be sure to populate the "author" entry of "package.json" in your fork to reference the email you registered with.
Winners will be selected based on number of tests that pass and the time we receive your completion sha (see step above). For example, if a participant has the earliest time and all tests pass, that person would be the winner... however, if one test failed and the next earliest participant passed all tests, that person would be the winner.
Fork this GitHub project as a private fork so at the time of the event you'll only need to sync and pull. Make sure the fork is correctly configured with our repo set as the upstream.
Make sure you know how to how to sync a fork, so that you're ready to go when the repo is updated at the time of the event. It's recommended to try a sync beforehand to avoid problems at the time of the event.
Make sure you have a Node.js version at least 16 installed on your computer. Use a Node.js version manager like n if you need to switch between versions.
In your private fork, checkout the "example" branch locally and make sure you're able to run tests by following the steps as documented. The "example" branch holds an example of the challenge structure (each in a numbered directory).
Utilize websites like LeetCode to practice JavaScript challenges. Remember, we'll be testing for general programming skills including algorithms, data structures and problem solving.
View complete competition details and terms.
Winners will be selected based on correct solutions, firstly and time of completion, secondly. Solutions will be tested for correctness based on passing tests from the test suite.