Ask HN: What coding challenge sites should I try next?
Can you offer suggestions on similar platforms that are less gamified, higher quality challenges, and more reliable?
Can you offer suggestions on similar platforms that are less gamified, higher quality challenges, and more reliable?
Go to github, find a project that you find interesting and relevant to your position.
Take a look at the open bugs and try to fix some. Even if you don't feel comfortable sending a pull request you can learn a lot by going through the whole process on a real project.
Alternatively, take a look at the recent commits and what they fix...
I think this is unfortunate, irrational, and that contributing to Github projects would actually build your practical skills while adding some value to the universe.
But having spent more time working on coding challenges, algorithms and puzzles would have been more beneficial to my most recent several interviews.
Now what I'd be VERY interested in is an implementation of a list of "Like Project Euler, but for X" where X is all manner of things. WRT various values of X, I know there are periodic security challenges but nothing long term/permanently ongoing, I'd greatly enjoy being proven wrong. I'd be particularly personally and professionally interested in "Project Euler for HFT". How about "Project Euler for VLSI design"?
Yeah, yeah, If I want it, I should do it, and its true I probably could, other than the lack of infinite spare time.
Afterwards I'd just go make some standard 'mock projects' that require a bit more of software architecture. Such as building Game of Life, a twitter clone, a HN clone,..
Depending a bit on if I actually liked the language :-)
The cool thing is that some challenges are multiplayer, in the sense where you need to develop an AI for a given game, and then send your AI on a ladder to compete against other coders' AI.
I suggest trying Udemy, TutsPlus, or CodeSchool. Unfortunately, I can't recommend anything PHP-specific. Though if you're just getting started and aren't stuck with PHP, I recommend going with Django or Node instead. Udemy has excellent courses on Node(https://www.udemy.com/the-complete-nodejs-developer-course-2...), so if you're looking for the best place to learn webdev, I highly recommend going there.
Thanks for the recommendations though. I'm not necessarily stuck with PHP and would prefer to move towards Python if possible.
Starting out, I spent a few days in standard tutorials, then just started writing. As I implemented features, I'd research the standard Python idioms for doing various things. It might not work for every program, or for every learning style, but that script has been part of our build infrastructure for 2 years at this point, and maintenance for the last year and a half has mostly been limited to feature additions as our needs change.
https://programmingpraxis.com/
There's a pretty extensive collection of problems there now, and they span a variety of topics, from basic CS stuff (e.g., implement a stack or a binary tree), to cryptography, number theory, and trivia (e.g., write a quine, calculate the date of Easter, or solve a Sudoku puzzle). Note that the chronological list of exercises isn't up to date.
[0] https://adventofcode.com/ [1] https://challenge.synacor.com/
They're really strong on language-agnostic testing with emphasis on CS concepts. That's great and typical, but they have the study material linked directly to each lesson. I've had great interview experiences through their platform.
(shameless plug warning) I liked it enough that when I went through Flatiron School, I made a Ruby gem to see their lessons in the command line. https://rubygems.org/gems/rubedility
https://uva.onlinejudge.org/ has too many problems to sum up easily, but they have online solution checking. http://acm.timus.ru/ and http://www.spoj.com/ are similarly massive.
The websites above will affect you on how to solve a problem quickly because it's timed. It helps for job interview. If you want to learn about software engineering, e.g. architecture or what's going on in real industry, it's different in my opinion. You should know well the problem, use cases and of course, the contexts. To be honest, I agree with @cag_li. Involve in open source projects or build a real project!
[0]: http://www.spoj.com
- compiler
- neural network
- graphics engine
- web server
- physics LP solver
- JIT compiler
- garbage collector
- memory controller
- operating system
Start with something really, really simple - like a single page website (and I mean literally a single page of HTML). Then incrementally add features, adding the PHP code to, for example, read content from a database. Every day add a little feature or a tweak or fix a bug. After a couple of months you will be surprised by what you have achieved. But you don't need to stop there. Keep adding little features - eventually you will end up with a CMS.
The thing about this approach is you never burn out because you work in small doses, and the project never "runs out" because there's always something new you can add. But because you work on it incrementally you are more likely to get somewhere than if you sit down one day to "write the next Google".
Hope that helps and good luck!
http://www.interviewbit.com - teaches you at the same time.
If you want an honest appraisal of PHP, you'll find it in the above link.
https://pgexercises.com/ https://www.hackerrank.com/domains/sql
We send high quality programming questions every day. You can sign up to our mailing list for free to get problems starting tomorrow at 9AM PST.
I hope you enjoy our problems!
They're one of the few which tests and teaches your code's performance. They're also very popular for hiring tests.
If you could share with us what you could like to see, we can make it happen!
I wasn't a fan of the text adventure puzzle, but the rest is great.
agree with cag_ii that you should just work on projects given that you're keen on PHP
Reviewing commits on github will be useful in understanding what contributing to mature projects looks like though.
This site has been mentioned on HN and reddit a few times.
Good if you are looking for sharp code, and perhaps to span languages.
Https://codegolf.io
Some of the challenges can be brute forced easily, and some have only been solved fully by one person. The puzzles are good, but the real fun is in the challenges. Some of the ones I've unlocked have only been solved by less than 100 people.