3 ms·
Leetcode interviewing is a hot mess, but "insert an element into a double-linked list" is literally high school computer science. More importantly, having the
by InefficientRed 4y ago
Leetcode interviewing is a hot mess, but "insert an element into a double-linked list" is literally high school computer science.
More importantly, having the general problem solving skillset to reason through this problem in 20-30 minutes seems super important to many aspects of front-end development...
- lukeck 4y agoSimilarly to the person you’re replying to, I needed to confirm that a doubly linked list is what I thought it was because for me, high school and college were decades ago. I just haven’t had to use that knowledge in many years of professional development. Now I’ve refreshed my memory on the data structure, inserting an element is straightforward. In other words, the harder bit for me is the boring trivia of what is the data structure with this name, while the far more interesting questions how do you use it and what are its advantages and disadvantages are easy. I would expect that a good interview would focus on the more interesting parts.
- InefficientRed 4y agoProbing for information and not being too afraid of "looking dumb" to ask foundational questions about the assignment are, in fact, part of what's assessed in a leetcode-style question. If we're honest, that's probably more important than the actual problem. At most places I've interviewed, each interview question is a 25 minute - 30 minute session. Since white-boarding the solution takes perhaps 5-10 minutes max, in this case, there's plenty of budget to refresh definitions and provide a clean interface from which the actual task begins. Critiquing "insert into DLL" as an unreasonable question does a disservice to the "less leetcode" position :(
- MikePlacid 4y ago> Probing for information and not being too afraid of "looking dumb" to ask foundational questions about the assignment are, in fact, part of what's assessed in a leetcode-style question. If we're honest, that's probably more important than the actual problem. Exactly! We were not looking for A+ CS students, we were looking for people we can work with.
- acheron 4y agoI don’t know what high school you went to, but “literally high school computer science” at my school was “here’s how to format a business letter in Microsoft Works”.
- InefficientRed 4y agoI know only because I volunteer in AP CS classrooms. Linked Lists are covered fairly early in the course. Doubly linked list insertion is one of the standard reversed classroom (?) labs in one of those teacher's courses (but not others; we spent more time on trees in one class and one of the teachers was quite bad and spent a hilarious quantity of time on String.format). In the DLL lab the kids do just fine in an hour or so. They do not see DLLs before that but it is the final lab of the linked lists section. My high school did not offer CS except as an independent study (you could technically do anything as an independent study, so "offer" is shorthand for "convince a teacher to let you sit in their classroom during planning period and find a way to sit for the AP CS exam"). There have existed high school CS courses since the 80s. (The AP CS exam was introduced in 1984.)
- Wowfunhappy 4y agoFwiw, AP Computer Science must have gotten better. I took AP Computer Science in High School in 2012. The whole curriculum was based on this “Grid World” Java program where a Grasshopper extends JumpingBug extends Bug or something like that, no not as an analogy for OO, the classes were literally named like this. And, the AP test asked specific questions about Grid World's implementation, so you had to learn about it even if you understood the underlying computer science concepts. I wish we learned about linked lists. I didn’t get that until college.
- letitbeirie 4y agoYou took it after they switched to Java, which abstracts away the mechanics of collections. Linked lists were much more fundamental (and covered much earlier) when they were using C++.