The original video is [no longer available](https://www.youtube.com/watch?v=1fqxMuPmGak). Here's a
[link](https://blog.hackerrank.com/qa-with-gayle-laakmann-mcdowell-on-acing-technical-interviews/) to a HackerRank blog
post on the Q&A. Here's a WayBack Machine [link](https://web.archive.org/web/
20160824015422/https://www.youtube.com/watch?v=1fqxMuPmGak&gl=US&hl=en) 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