During the interview: how to prepare?
Once you start the application process and start getting interviews, there are a few things you should look for and prepare for:
- Interview format
- References, networking
- LinkedIn or Portfolio
- Resources and materials for interviews.
- Strategies: planning, monitoring, evolution, indications, estimation of your level, use of the “career lens”, finding a partner for the interview, warning signs
- Accepting the offer
Interview format
The interview format varies between different companies. No two companies have the same interview format for the MLE position, so you should do your “homework” to research the format ahead of time. For example, even for FAANG companies, Apple is known for its startup-style interview format, which varies from team to team. On the other hand, Meta tends to have a consistent company-level interview format, comprising one or two rounds of leet code and ML system design rounds. Typically, the recruiter will provide detailed information about the interview format of large companies, so you won't be surprised. However, the process might be less structured for smaller companies and change more frequently. Sometimes smaller companies replace the leet code with other coding questions and only lightly touch on the modeling part instead of having a full ML system design session. You should search for information on free websites like Prepfully, Glassdoor, Interview Query, or other paid websites to get a comprehensive understanding of the interview format and process to better prepare in advance. Finally, don't limit yourself to the interview format Since it is not a standard test, there could be behavioral elements during technical interviews and technical questions during the hiring manager round. Be prepared, but be flexible and willing to be surprised.
References and networking
Many web articles would exaggerate the benefit of referrals, but having a referral is just a shorter path to getting past the recruiter's round and straight into the second round (usually the hiring manager's round). In addition to having references, it's almost equally essential to network in person, for example, taking advantage of hackathon opportunities to speak with companies, attending job fairs in person, and participating in offline volunteer events sponsored by companies you're interested in. Rely on referrals or networks to land a job, but use them as opportunities to increase your likelihood of getting more conversations with recruiters and hiring managers to maximize your interview efficiency..
LinkedIn or Portfolio. LinkedIn and Portfolio are just advertising tools that help recruiters understand who you are beyond the textual information on your resume. As a junior MLE, it would be helpful to include course projects and Kaggle challenges in your GitHub repository to show more relevant experience; However, at a higher level, toy projects make less sense, but PR on large-scale open source projects, insightful articles and analysis, SOTA research tutorials or toolboxes will make you stand out from the rest of the candidates.
Resources and materials for interviews.
Broadly speaking, you need materials that cover all five domains: i) coding, ii) behavior, iii) ML fundamentals/deep learning, iv) ML systems design, and v) a general MLE interview tips book.
i) Coding. If you are not an expert in Leet Code, I would recommend starting with the following resources:
ii) Behavior:
iii) ML/Deep Learning Fundamentals:
iv) ML system design:
v) A general book of MLE interview tips:
You also need to have a handful of interview partners; Today, you can subscribe to online interview preparation services (don't use the expensive ones that charge you thousands of dollars; there are always cheaper replacements) and partner with other MLE candidates. for the exchange of skills and information.
Strategies: planning, monitoring, evolution, directions, interview for a higher level, use the “career lens”, get an interview partner, red flags
Planning, monitoring and evolution. Ideally, as described in this articleYou should receive at least a handful of calls from recruiters and classify your interviews into different levels of interest. On the one hand, the job market is constantly changing and rarely can anyone plan the best strategy at the first interview. On the other hand, you will learn and grow during the interview process, so you will be different from where you were a few months ago at the beginning of the job search stage. Therefore, even if you are the most talented candidate on the market, it is essential to spread your conversations over a few months and Start with the conversations that interest you the least. to familiarize yourself with the market and hone your interview skills, leaving the most important ones for a later stage. Track your progress, feedback and thoughts during your interview process. Set specific learning objectives and evolve with your interviews. You may have never had the opportunity to tackle GenAI knowledge in recent years, but you could use the interview process to learn from online courses and create small side projects. The best thing is to get a job after the interview, and the next best thing is to learn something useful even if you don't get the job offer. If you continue to learn from each interview, you will eventually greatly increase your chances of landing that next job offer.
Incitement. This is the era of LLM and you must use it wisely. Look for keywords in job descriptions or responsibilities. If there is an interview that involves “software engineering principles” then you can ask your favorite LLM to provide you with a list of software engineering principles for machine learning for preparation purposes. Again, Quick Answer shouldn't be your only source of knowledge, but it can make up for some blind spots in your daily reading sources.
Interview for a higher level. Sometimes the boundaries between levels are blurred. Unless you are an absolute beginner in this field, you can always try out opportunities that are at a higher level and prepare for the lower level at the job offer stage. If you're interviewing for a higher level, it doesn't hurt to prepare or apply for staff-level opportunities. It doesn't always work, but sometimes it can open doors for you.
Use your “career lens.” Don't go into an interview without thinking about your career. Unless you desperately need this job for a specific reason, ask yourself: Where does this job fit into your overall career map?? This question is important from two perspectives: first, it helps you choose the company you want to go to; For example, a startup might offer higher salaries in the short term, but if you don't prioritize sound software engineering principles, then you won't miss out on a promising long-term career path; Secondly, it helps to diagnose the outcome of the interview, for example, if your rejections are mainly from startups, but you finally received offers from well-known listed companies, then you will realize that rejections do not mean that you are not a qualified MLE , but because interviews at new companies require different skills and those do not belong in your career path.
Get involved. Five years ago, there was no such thing as finding an interview partner. But today, there are interview services on the Internet that range from extremely high costs (which I don't recommend) to a few hundred dollars. Remember, it's an ever-changing market, so no one knows the full picture. The best way to gain insight is to partner with your non-competitive peers (for example, you are in the CV domain and your partner is in the recommender system domain) to practice and improve together. Better than just joining, You should look to partner – look for people at a higher level of seniority while you can still offer them something useful.. You may wonder, how is it possible? Why would someone older than me want to practice with me together? Remember, no one is perfect and you can always offer something to others. There are senior software engineers who would like to become MLEs and you can exchange your ML knowledge for your software engineering best practices. There are product managers who need information related to machine learning and in return you can ask for behavioral practices. Even for people without industry experience at the entry level, you can still ask for coding practice in return or listen to their life stories and get inspired. As an MLE, especially at the senior/personal level, you must demonstrate leadership skills, and the best leadership skill you can demonstrate is to bring together professionals at different levels to help you achieve the goal you are pursuing: your dream offer.
Red flags. Some red flags, like asking you to overwork directly or ghosting interviews, are explicit. However, some warning signs are more subtle or deliberately disguised. For example, your hiring manager might politely explain your situation and wish you “not to have high expectations at the beginning and decide to leave in a few months”; It sounds very thoughtful. Still, this overshadows the fact that turnover is high. The best strategy to avoid red flags is to read Glassdoor reviews and learn about the company culture during the interview. Specifically, “culture” does not mean the “cultural statements” defined on the company website, but the actual dynamic between you and the team. Do interviewers just ask prepared questions without trying to understand your problem-solving skills? When you ask a question, can the interviewer capture it and give you an answer that helps you better understand the value of the company? Finally, Always remember to use your instincts and decide if you like your future team.. After all, if you decide to accept the job offer, you will be dealing with these people eight hours a day for the next few years; If your gut tells you that you don't like them, then you won't be happy anyway.
Accepting the offer. Once you're done with all the frustration, all the disappointments, and all the hard work, it's time to talk about the offer. Many web threads discuss the need to negotiate the offer, but I suggest being cautious, especially in this employer's market. If you want to negotiate, the best practice is to have two comparable offers and prepare for the worst-case scenario. Additionally, websites like Levels.fyi and Glassdoor should be used to research the compensation range.