-5

The first half of the one hour interview will be a data structures / algorithms type problem and second half will be debugging a real problem in an iOS codebase. Since my comfort zone is with the domain specific work in the latter, I'm thinking of focusing entirely on the former in my preparation.

I see a lot of advice online saying to prepare generally by selecting the LeetCode tag for the given company and practicing those problems, but this startup is very small and not on there. There is also a dizzying number of problems on that site (I believe at least a thousand), so it's hard to be strategic about which ones to focus on. I'm also seeing in commentary online that Cracking the Coding the Interview is no longer sufficient (?) for these types of interviews, but I'm thinking on focusing on working through the book anyway.

Any thoughts on how to strategically prepare in the week I have until then would be appreciated.

1
  • 1
    The best way to prepare for a DS&A interview test is to know DS&A really well. Just like the best way to pass a driving test is to first learn to drive. May 11 at 14:04

1 Answer 1

9
+200

Any thoughts on how to strategically prepare in the week I have until then would be appreciated

Not to sound rude but IMHO, you can't learn that in a week.

You either know your data structures and algorithms or you don't. Those topics usually span several courses in a Computer Science career at any university. It's not realistic to expect to learn them in a week.

You can, however, go over your notes and past courses or similar material that you have attended to or studied. This will help you refresh your knowledge on that stuff. In the end, algorithms and data structures are more theoretically-oriented (compared to live debugging an app), so questions on those topics usually tend to also be more theoretical than hands on.

Now, if during a test someone asked me to code a Linked-list or Binary Tree from scratch in Java or similar, I would surely raise my eyebrow and wonder if this company is a place I would like to be (or at least wonder who came up with such test and if the recruitment department is competent at all)...

On the other hand, knowing what is a Linked List and a Binary Tree, is something completely reasonable to expect from a candidate.

So, bottom line. You mentioned that part is not in your "comfort zone" so I take it that you already know about algorithms and data structures. If that is so, then going over the theory and notes, videos, and courses you've taken will help. However, if there are considerable gaps on your knowledge regarding those topics, learning them in a week is something that I don't think is possible.

3
  • "Now, if during a test someone asked me to code a Linked-list or Binary Tree from scratch in Java or similar, I would surely raise my eyebrow and wonder if this company is a place I would like to be (or at least wonder who came up with such test and if the recruitment department is competent at all)..." Can you clarify what you mean? In a technical interview question at a big company before, I've had to implement a linked list since the problem required using one, and my language's standard library didn't have one available. I'm guessing most interviews would involve built-in structures. May 11 at 0:48
  • 1
    Agree. There's a big difference between knowing about (using this example) Linked Lists and Binary Trees, and being able to code them from scratch in an interview. Most companies need people who understand the business case, and the actual implementation is just grunt work or pulled in from a library.
    – PeteCon
    May 11 at 4:17
  • 1
    @AustinConlon what I mean is related to what PeteCon mentioned in comment. I recall that on a course at Uni about Databases we literally made a RDBMS from scratch. Mine came out ok, but even if it were perfect, I would not say to my boss: "heyy, let's use the RDBMS I did in Uni for our company"... there already exist professional, established and tested DBMS's. yeah, perhaps there are cases where there is no data structure on your language, but you either use external library or code it yourself once. Theory will enable you to use and understand such structure even if it's not your code.
    – DarkCygnus
    May 11 at 17:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .