- UCR's Fall Quarter starts late in September compared to August in most other universities.
- Start applying to internships or full-time opportunities early in August i.e., when you're still in your home country. This may put you at the same level as students at other universities who start earlier.
- Networking and referrals are vital in getting an interview call from your dream organization.
- Attend large-scale networking events like GHC[Women only], SWE[Society of Women Engineers][Women only]. Look into these resources:
- Use LinkedIn for networking, referrals and applying. Check this for advice related to optimizing Linkedin
- Some great advice on resumes can be found here: https://blog.dataengineer.io/p/how-to-craft-the-perfect-data-engineer
- Don't underestimate the power of an effective cold-email. Getting the attention of the hiring manager/HR via a well-written cold email would go a long way in getting a callback. I found the advice mentioned here helpful: https://www.indeed.com/career-advice/finding-a-job/cold-email-for-job. A good template can be found here: https://uvasrg.github.io/prospective/ which can be modified depending on the job type.
- Use levels.fyi for salary information.
- Monitor summer2023-internships for summer 2023 internships.
- Learn the art of negotiation. Don't accept an offer without negotiation. Check https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/ for good advice.
- Pick any programming language - C++/Java/Python/JavaScript etc. and master it.
- Brush up your Algorithms & Data Structures.
- Enter leetcode.
- Neetcode.io has an excellent compilation of problems for interview preparation. If you're already good at DSA, go for Blind 75. If you're relatively a novice, go for NeetCode 150
- These 75 or 150 problems teach you the most common patterns of questions asked in tech interviews. The goal is not to remember solutions but to be able to recognize a pattern from a new problem and be able to solve it.
- Start working on problems for each pattern you practice. There's always a compilation of problems grouped by patterns. For example, this post.
- After you're confident about your depth and breadth of theory and problems, start applying to companies.
- Now, start targeted practice. Every company has its way of assessing candidates. Leetcode provides a compilation of the most frequently asked interview questions, grouped by companies.
- If you're targeting SDE2 / SE2 / Senior SDE - a strong grip on System Design is necessary.
- Start System Design preparation with this post and then this book.
- Most of the interview questions focus on - Trees, Graphs, Arrays, Strings, Recursion, Binary Search, Linked Lists & Back Tracking.
- Compared to software engineering, machine-learning interviews have fewer resources.
- Before preparing for an ML role, it is imperative to know the actual requirements. For example, does it require building pipelines/ or deploying ML models/or is it more research-focused?
- A good way to revise fundamentals is to do ML courses in your degree.
- The popularity of ML has led to an explosion of roles across various domains like LLMs, Generative AI, etc. Some roles have an explicit MS or PhD requirement (mostly research-oriented), but many have relaxed requirements. Don't apply to a role if you don't meet these basic requirements.
- In my opinion, the best way to improve the chances of callbacks is to do relevant projects in the domain. For example, if the role specifically mentions LLMs, and you haven't worked on it, the chances of a callback is minimal.
- Most ML interviews comprise of these 5 rounds:
Type of Round | Resources |
---|---|
Coding | Similar to the software-engineer role. If you are a beginner, consider https://www.educative.io/courses/grokking-coding-interview-patterns-java. Practicing all the patterns is the key. |
ML coding | Code ML algorithms from scratch like Logistic Regression, Linear Regression, etc. A good list is found here: https://github.com/alirezadir/Machine-Learning-Interviews/blob/main/src/MLC/ml-coding.md |
ML system design | It is similar to the system design round in the software engineering interview. Some recommended resources are https://www.amazon.com/Machine-Learning-System-Design-Interview/dp/1736049127 |
ML Breadth | Testing of basic ML fundamentals like gradient descent, linear regression, etc. Check Chapter 7 of https://huyenchip.com/ml-interviews-book/contents/7.1-basics.html. |
ML depth | It is more specific to your projects in the resume. For example, if you have worked primarily with NLP, expect questions on BERT, Transformer model. Know the ins and outs of every project mentioned in your resume. |
Behavioural | These questions gauge your personality and how you overcame challenges. Follow the STAR formula to answer questions as noted here: https://gist.github.com/katiestutts/7aef5063ba93616a594ac3f3764f8788. Another good resource is: https://www.interviewkickstart.com/career-advice/situational-scenario-based-interview-questions-answers. |
- Some companies might focus more on MLE and hence focus more on ML coding and ML System design rounds. More research-oriented roles will focus on ML depth. There is no hard and fast rule.
-
Tip: Just a list of resources. Grinding everything will not land you a job. Focus and targeted practice are key.
-
Some other resources that I found useful for my ML interviews are:
- https://huyenchip.com/ml-interviews-book/ [Good book for ML fundamentals].
- https://www.amazon.com/Designing-Machine-Learning-Systems-Production-Ready/dp/1098107969 [ML System Design]
- https://www.amazon.com/Machine-Learning-System-Design-Interview/dp/1736049127 [ML System Design]
- https://www.educative.io/courses/grokking-the-machine-learning-interview [ML System Design]
- https://github.com/alirezadir/Machine-Learning-Interviews [Good compilation of resources]
- https://github.com/khangich/machine-learning-interview [Good compilation of interview experiences].
- https://github.com/youssefHosni/Data-Science-Interview-Questions-Answers [Good for specific roles like Computer Vision/Data science].
- https://github.com/stas00/ml-engineering [MLE specific tips].
- https://madewithml.com/ [MLOPs related course].
- https://eugeneyan.com/ [Recsys relevant advice].
- https://davidstutz.de/how-i-prepared-for-deepmind-and-google-ai-research-internship-interviews-in-2019/ [How to prepare for research interview]