Notes: Q&A by Gayle Laakman McDowell

3 minute read

The original video is no longer available. Here’s a link to a HackerRank blog post on the Q&A. Here’s a WayBack Machine link to a working version of the video.

  • Don’t use pseudocode (preferably) - you start glossing over details which are really important - interviewers don’t prefer it - write as correct code as possible - small syntax errors are fine
  • Fast learner vs technical skills? depends on the position - if there are sufficient resources (a strong team), tend towards fast learner - first person in some technology, tend towards strong technical
  • How to get better at competitive programming? practice - get used to not knowing solutions - do it yourself - have a strong knowledge base - work manually through a complex example
  • Dealing with interview pressure? practice mock interviews - get practice as an interviewer - the way that you think you’re doing has no correlation between actual performance - evaluation is relative to others
  • Are algo interviews effective? effective with experienced interviewers - identifying intelligence and problem-solving skills - smart is better, than technical - no interview process is perfect
  • Best way to prepare for whiteboard interviews? know basic algo + DS - practice - focus on quality not quantity - practice coding using pen and paper
  • Best language to use? language company makes you use - usually they don’t - whatever you’re comfortable with - be aware of drawbacks of your chosen language - Java: abbreviate verbose statements - Python: be aware of non-constant time operations
  • Best way to approach question I can’t figure out? supposed to be like that - expect it - rely on examples - go through it manually - take complex examples - convert thought process to algo - think about bottlenecks in brute force - get rid of it - identify overlapping work
  • Your favourite interview question? two strings, one smaller, one larger. Write an algo to figure out number of permutations of smaller string existing in a larger string - brute force - optimizations - doesn’t rely on a lot of knowledge
  • Keep resumes short
  • Interview performance does not impact starting salary - for big companies - standardized - may happen for start-ups
  • Advocate for yourself (don’t steal credit)
  • Skills to land a job at a top tech company? prove to recruiter that you have right skills for the job (via resume) - proving to recruiter that you can crack the interview - develop a lot of projects - do a lot of coding - learn new programming languages - don’t get tied to any one (can be a red flag) - identify a great software developer - know algos + ds - CS degree - taking classes - HackerRank challenges
  • Best kinds of projects on GitHub? just do projects - doing something matters more than what you’re doing - companies might check for specific domains - doesn’t matter much - open-source has advantages (large codebase) - can’t see what you’ve done personally - just do something
  • Good questions to ask interviews? questions which show passion for the company - curiosity about the company - technical questions - work life - how decisions get made
  • Is C still valuable to learn? forces you to deal with low level concepts - can be valuable - fewer jobs for C (if you’re completely C) - embedded - passion and as a different paradigm
  • What do you look for when asking a candidate to test? 5 step process - analyze your code (go step by step) - look for hot spots (off by one errors) - use small test cases (2-3 element arrays) - try some edge cases (empty arrays) - large test cases - assume your code is broken and figure out why - don’t freak it over a bug - find out why it happened carefully
  • Are high GPAs important? depends on country - some sign that they would be successful - high GPAs do show something particularly from a good school - one extra edge - look for something which makes you want to say yes - look for something interesting - projects over high GPA - maintain a good enough GPA (shouldn’t worry the interviewer) - 3.0+ and a lot of projects - know algos + ds - seek out the harder classes
  • Other than technical ability, what do you look for in a candidate? arrogance/abrasiveness is a no-no - excitement about solving hard problems, joy in thinking - don’t be mentally lazy - work towards a better solution
  • How evaluation works - no metric - gut feeling - are you smart? - all things which happened in an interview - compared to others - be as good as you can be

Tags:

Updated: