http: teaches you at the same time.
For sure, its just the little language gotchas that Im trying to understand before really leaping in to anything. For example I didnt realize an array in PHP is actually a keyval set until it bit me on some easy challenges.
Advent of code just started, so you might try
Anybody know some good resources for advanced sql query practice? Multiple nested subqueries, more obscure functions, etc?
Its a trade-off. One thing thats definitely going to get you more and better interviews is a section on your resume that lists major open-source projects youve contributed to. But yes, once you hit the interview you still might hit the old-style puzzle questions depending on the company.
Along those lines, find projects that have up for grabs[1]. I was trying to learn Go for personal enrichment and learned tons about real-world Go by opening a PR.
Synacor Challenge is a pretty good
Code Forces is an ugly, ungamified site but the calibre of its contestants is of a far higher grade. If you can do well there, youll have no need to ever again worry at your ability to solve smaller coding-related problems. Silicon Valley tech company interviews will also feel easy in comparison.
But having spent more time working on coding challenges, algorithms and puzzles would have been more beneficial to my most recent several interviews.
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.
I love Project Euler. Each time I pick up a new language I actually go to PE and solve some problems (often times ones that I have already solved) just to get a better feel for the syntax of the new language I am learning.
If you dont mind competitive programming sites then you can try codeforces [1] which is probably one of the hardest sites to compete in. You could also try codechef [2] which has long challenges so you can compete over the span of a week rather than over two hours like on codeforces.
One I like is Wechall. Its sort of an index of other challenge sites (including a nifty API that can track your progress through some of their indexed sites), although they have a few of their own challenges as well. The sites it indexes tend to be geared towards security topics like web security and cryptography, though there are some more general programming challenges as well.
http: more CpSc oriented but very similar .
The websites above will affect you on how to solve a problem quickly because its timed. It helps for job interview. If you want to learn about software engineering, e.g. architecture or whats going on in real industry, its 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!
It wasnt that they were too easy, too easy is fine. Im doing this to understand where the good docs are, what error messages read like, and what the common mistakes and gotchas of the language will be. Its just like no one proofread some of these, repetitive concepts, one Kata had a blatantly wrong test condition, etc.
I personally lovehttps: but its geared more towards university students. The challenges get pretty hard, and they all pretty much gravitate around game AI if thats your thing.
Im the founder of Daily Coding Problem ).
I tried signing up via the form but could not do so.
If you could share with us what you could like to see, we can make it happen!
Build your own toy version of the following:
Codewars isnt being maintained very well. Some of the languages arent current – their version of Elixir is over a year old, and they have no plans to upgrade it.
Reviewing commits on github will be useful in understanding what contributing to mature projects looks like though.
Sorry! There was a bug in the subscription logic. It should be fixed now. Mind trying again?
A couple of years ago, I had some slack in my schedule, and decided to combine learning Python with starting a project in it. It took me a couple weeks to feel really comfortable, but it also got me to a kind of MVP implementation, and I was able to take the next month or so after that to fill in the features.
Ask HN: What coding challenge sites should I try next?
As others have said try building something. I would add the following:
Good if you are looking for sharp code, and perhaps to span languages.
Go to github, find a project that you find interesting and relevant to your position.
My recent interviewing experience, while anecdotal, would suggest that youd actually be better off with the coding challenge sites, assuming that succeeding at interviewing is your goal.
Theyre really strong on language-agnostic testing with emphasis on CS concepts. Thats great and typical, but they have the study material linked directly to each lesson. Ive had great interview experiences through their platform.
I had a great time going through the challenges athttp:
You dont need to make a trade off. Youcando both contribute meaningfully to an open source project AND practice on Codewars.
Hi! Im teaching a coding bootcamp and one of my students
What top companies exist thatdontask candidates to solve coding challenges?
Were going to start more business-oriented dev challenge soon, more infohttps:dev.tomsedzielewskivoucherify-developer-challenge-…
Good call on at least reviewing fixes on github. I was going for the game sites because I just want to get the trivial gotchas of the language out of the way, get a feel for what error messages look like on some basic stuff.
I would personally recommend taking the 10x Club course (note: I work at the parent company, and yeah I know about the name)
Google Codejam has some great problems.
Depending a bit on if I actually liked the language 🙂
Starting out, I spent a few days in standard tutorials, then just started writing. As I implemented features, Id 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.
This site has been mentioned here a few times, good if you want a challenge in your language or a variety of languages.
Im shocked Codility isnt on here programmerslessons1-iterations
(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 gemsrubedility
None, go build something. Build a clone of something, facebook, twitter, HN, google, slack.
http: most popular, lots of corps use for first line recruiting so worth knowing.
I am surprised no body has mentioned Exercism yet. Go to exercism.io and there are around 60 problems for PHP that you can start working on it. The good part is, it has tests built into it. You can gradually work on a solution by progressive approach and thus passing each test successively.
Alternatively, take a look at the recent commits and what they fix…
Have you tried pgexercises or hackerrank?
<
Take a look at the open bugs and try to fix some. Even if you dont feel comfortable sending a pull request you can learn a lot by going through the whole process on a real project.
I second this, gets more popular every year. The puzzles are well thought out. They get progressively more involved each day, its definite worth a try
Agree with your good suggestion, and extend with for kinda the same experience but for bioinformatics instead of math.
If you want an honest appraisal of PHP, youll find it in the above link.
It might be something fun to build something that solves a need that someone or a group of people have.
Afterwards Id 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,..
agree with cag_ii that you should just work on projects given that youre keen on PHP
codewars Kata get hard soon enough. maybe its because youre doing it in PHP but ive had no complaints at all on python and javascript.
What about the original challenge website?
So? OP clearly wants a challenge 🙂
This site has been mentioned on HN and reddit a few times.
When I was taking algorithm courses in my university, my lecturer used SPOJ [0] and Uva online judge [1] as part of coding exercises. For example, today, I learn about greedy algorithm, my lecturer find a problem on those website about greedy algorithm problems. Someone already mentioned CodeForces. It likes SPOJ and Uva. But, CodeForces usually has a coding competition regularly.
Ha yeah thats been my experience at a smaller scale so far. Why are arrays actually key value sets? Not at all intuitive. I figured that out when I used array_unique() only to discover that some index values had gone missing. Of course that function provides no option to treat $array like an actual array. I found a solution of array_keys(array_flip()) which I read also happens to be faster than array_unique(). Wat.
Theres 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 isnt up to date.
Codility is really well written. Im not sure if they have PHP but they seem to have the major languages.
PHP is an unusual situation; for PHP, I would recommend reading bug reports and learning what has not been fixed for years that will bite you badly. Lots more info item?id=15815830
Project Euler ) has great algorithmic and mathematical challenges. I like to go through their problems when learning new languages.
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 dont need to stop there. Keep adding little features – eventually you will end up with a CMS.
One similar to Hackerrank is hackerearth [1].
Im pretty surprised that LeetCode hasnt been mentioned. There are a lot of low quality questions on it but if you sort by Top 100, youll find some pretty interesting problems.
I wasnt a fan of the text adventure puzzle, but the rest is great.
I suggest trying Udemy, TutsPlus, or CodeSchool. Unfortunately, I cant recommend anything PHP-specific. Though if youre just getting started and arent stuck with PHP, I recommend going with Django or Node instead. Udemy has excellent courses on Node(https: so if youre looking for the best place to learn webdev, I highly recommend going there.
Now what Id 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 termpermanently ongoing, Id greatly enjoy being proven wrong. Id be particularly personally and professionally interested in Project Euler for HFT. How about Project Euler for VLSI design?
You dont really need platforms to help you learn how to code. Find some good video courses and create practical projects by following the instructions, thats the best way to learn, especially if youre into webdev.
Yeah, yeah, If I want it, I should do it, and its true I probably could, other than the lack of infinite spare time.
Realistically, the best way to learn a language is to make a small project that does something useful. But if youre still wanting to do challenges rather than a project, youre just in time to participate in Advent of Code 2017 [0]. The only gamified part is the leaderboard which is based on how long it takes you to generate a correct answer since the challenge became available. Another challenge that, while not generally suited for a PHP programmer but still possible, is the Synacor Challenge [1] , which involves creating a virtual machine and running a provided binary in that virtual machine to find codes to submit.
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.
Uncharted territories are quite a challenge. But probably there are projects out there that are doing those already.
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 Ive unlocked have only been solved by less than 100 people.
It seems fixed, thanks for the quick turnaround.
Im learning PHP for a new position and tried using codewars and codefights. Im not impressed by the UX with either of them, theyre over gamified. The quality of Kata on codewars is not good (at least the easy stuff) and both are broken in random trivial places.
The thing about this approach is you never burn out because you work in small doses, and the project never runs out because theres 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.
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.
Thanks for the recommendations though. Im not necessarily stuck with PHP and would prefer to move towards Python if possible.
Theyre one of the few which tests and teaches your codes performance. Theyre also very popular for hiring tests.