If you don't have a computer science foundation it's probably a good idea to learn the basics anyway, rather than learning just to pass the interview.
If you don't have a computer science foundation it's probably a good idea to learn the basics anyway, rather than learning just to pass the interview.
If you want to test yourself, you could try these, which are popular questions:
https://leetcode.com/problems/find-all-anagrams-in-a
https://leetcode.com/problems/subarray-sum-equals-k/-string/
Note that it's not enough to present any solution - you need to present a solution that is efficient. Also, you should be able to write the solution correctly without looking up anything and without running the code before declaring that it is complete.
That’s the bullshit part. This doesn’t happen in any other context in software engineering except interviews. This just test the ability to memorize algorithms. People with a life are at a disadvantage by either accident or by design, not sure which is worse.
https://leetcode.com/problems/find-all-anagrams-in-a-string/
https://leetcode.com/problems/subarray-sum-equals-k/
Optimal answers expected.
You want to check my computer science background, ask me about: regular languages, LR0 grammars, interpreters, compilers, system calls, threads, virtual memory, concurrency control, TCP, consensus protocols, raytracing, scene segmentation, sensor fusion, database indexes, block cipher padding schemes, etc.
But no one cares about the other 17 courses, they just want me to have internalized a crazy level of detail on one in particular, as if I had studied nothing else for 4 years.
The performance problems I've been called on to solve, I solved by having a vague idea of what's going on at the OS and network level, something that apparently makes me a wizard at a company that allegedly selects for "CS fundamentals."
Why? Because most of the people on the loop have far less experience than you. They aren't any good at measuring those who are truly skilled and are just looking for clones of themselves that are happy to reinvent the wheel constantly.
The basics aren't really crucial to developing most software. Not the way Faceboook is testing them at least. They want you to spout off the typical college explanations for things you do in just a call to a library.
No serious systems developer gives a shit about how to implement sort these days. It's a waste of time.
The only way to measure the value and experience of senior developers reasonably is to have in depth discussions about their experiences. Using college type tests is just absurd and idiotic.