5 ms·
From the article it would appear that anyone with a computer science background and a decent amount of experience as an engineer should pass the technical test
by robjan 6y ago
From the article it would appear that anyone with a computer science background and a decent amount of experience as an engineer should pass the technical test without the need to spend the whole month revising.
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.
- wan23 6y agoThe bar for Facebook is something like being able to solve two medium-difficulty problems in 45 minutes. 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/find-all-anagrams-in-a https://leetcode.com/problems/subarray-sum-equals-k/-string/ 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.
- vlovich123 6y agoAs someone who interviewed people applying to Facebook (or Oculus anyway), the coding tests were intentionally told to be structured as one easy question (so that the candidate could build some confidence and provide some signal) and one medium/hard coding question (ie can they write more substantial solutions and solve harder problems). That’s for the traditional “CS” coding interview. The other technical part is an open ended design question (whiteboard/hand-waving diagrams/explanations with no code).
- baq 6y ago> 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.
- philliphaydon 6y agoThose links get 404?
- Xeronate 6y agoHere you go https://leetcode.com/problems/find-all-anagrams-in-a-string/ https://leetcode.com/problems/find-all-anagrams-in-a-string/ https://leetcode.com/problems/subarray-sum-equals-k/ https://leetcode.com/problems/subarray-sum-equals-k/ Optimal answers expected.
- philliphaydon 6y agoThanks, links work.
- caconym_ 6y agoFor me, at least, there’s a big difference between having the knowledge of how to approach these problems and having the practice fresh enough in my mind to solve them quickly under pressure. The latter is what the month (or whatever) is for, and it’s absolutely necessary for me personally. I think you have to be pretty dang smart for it not to be.
- closeparen 6y agoAlgorithms was one of 18 courses in my CS major. 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."
- permille42 6y agoWrong. If you are a serious Software Engineer with 15+ years of experience you will easily fail their stupid interview process. 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.