{"id":3570,"date":"2022-06-10T13:20:26","date_gmt":"2022-06-10T20:20:26","guid":{"rendered":"https:\/\/roberval.com.br\/roberval\/?p=3570"},"modified":"2022-06-10T17:47:29","modified_gmt":"2022-06-10T20:47:29","slug":"a-netflix-engineer-did-7-onsites-interviews-for-7-tech-companies-2","status":"publish","type":"post","link":"https:\/\/roberval.com.br\/roberval\/2022\/06\/a-netflix-engineer-did-7-onsites-interviews-for-7-tech-companies-2\/","title":{"rendered":"A Netflix engineer did 7 onsites interviews for 7 tech companies."},"content":{"rendered":"<div class=\"postie-post\">\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">A Netflix engineer did 7 onsites interviews for 7 tech companies.\u00a0 Received 7 offers ranging $325k &#8211; $800k a year. He\/she shared the resources in Blind that helped her\/him to be successful. Here they are:<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">1. Leetcode<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Always ask clarifying questions, they are meant to be vague.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Tech Interview Handbook (solve 50 suggested LCs multiple times): <a href=\"https:\/\/lnkd.in\/dbK9TasP\">https:\/\/lnkd.in\/dbK9TasP<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Grokking Coding Interview:<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><a href=\"https:\/\/lnkd.in\/d4YzR_3d\">https:\/\/lnkd.in\/d4YzR_3d<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Solve each question yourself before looking at answers. After struggling with certain topics, found some youtube resources that were really helpful.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Graph problems: <a href=\"https:\/\/lnkd.in\/dT4brkwG\">https:\/\/lnkd.in\/dT4brkwG<\/a>\u00a0<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Kahn\u2019s topsort: <a href=\"https:\/\/lnkd.in\/dc8VzPx7\">https:\/\/lnkd.in\/dc8VzPx7<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Dijkstra\u2019s shortest path: <a href=\"https:\/\/lnkd.in\/djWD4ncp\">https:\/\/lnkd.in\/djWD4ncp<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Kruskal\u2019s MST: <a href=\"https:\/\/lnkd.in\/dUaF7dDr\">https:\/\/lnkd.in\/dUaF7dDr<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Union find: <a href=\"https:\/\/lnkd.in\/dmZSyGXq\">https:\/\/lnkd.in\/dmZSyGXq<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">&#8211; Dynamic programming: <a href=\"https:\/\/lnkd.in\/d85BHsQp\">https:\/\/lnkd.in\/d85BHsQp<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">I would say 1\/2 of my coding questions was graph related, and I used topsort, MST, union find during my interviews so its worth knowing them well.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Great resource on Binary Search (esp. for harder variants): <a href=\"https:\/\/lnkd.in\/dPVikn9e\">https:\/\/lnkd.in\/dPVikn9e<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Quite a few LC hards involve binary search as part of its solution, but its non-obvious.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">At staff level, you are expected to have great communication, come up with one or more high level solutions in reasonable time with space and time complexity, implement mostly correct, and check for errors independently.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">2. SYSTEM DESIGN\u00a0<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Always ask clarifying questions, they are meant to be vague.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">No. 1 tip: Pay for mock interviews, take extensive notes, study, pay for more interviews. I used <a href=\"http:\/\/igotanoffer.com\">igotanoffer.com<\/a>. Try booking different interviewers, they have different expectations, communication, friendliness.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Grokking system design: <a href=\"https:\/\/lnkd.in\/dKBtGDDG\">https:\/\/lnkd.in\/dKBtGDDG<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">It\u2019s good to complete grokking, but in practice its a little too shallow for staff level.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Watch all videos and take notes from this channel: <a href=\"https:\/\/lnkd.in\/d32sycXJ\">https:\/\/lnkd.in\/d32sycXJ<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Most other channels like Exponent are actually not great examples of a good interviewee for staff level.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Read papers on Dynamo, BigTable, MapReduce, Cassandra, Raft, Lamport Clocks, etc.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">A lot of material written by this Medium writer is great: <a href=\"https:\/\/lnkd.in\/d_4yxAA7\">https:\/\/lnkd.in\/d_4yxAA7<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Memorize Jeff Dean\u2019s latency numbers: <a href=\"https:\/\/lnkd.in\/dq42yWsa\">https:\/\/lnkd.in\/dq42yWsa<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">If you have time, read DDIA: <a href=\"https:\/\/dataintensive.net\">https:\/\/dataintensive.net<\/a><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">I memorized mnemonics for structure of how I execute my interview, as well as for each topic. Like OSI model, caching strategies, load balancing strategies, database types, etc. You need to make up your own in order to ingrain them.<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Number 2 tip: Every system design question has a point of contention. Is it storage? Latency? Where will the system start to break? This is pivotal to figure out asap.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Basic structure:<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Requirements (functional \/ non-functional)<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Estimations (focus on contention point)<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">System API<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Data model<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">High level design (core components)<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Detailed design (ask where to dive in)<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Bottlenecks (scale, redundancy, SPOFs, metrics, logs, alerts, dashboards, pagerduty, deployment, failure scenarios)<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">As staff level interviewee, you are expected to lead the interview and provide alternatives, weigh pros &amp; cons of each approach and commit to one with justification. Outside of typical system design topics, staff level also needs to consider costs, system complexity, and business aspects (e.g. CDN too expensive for free tier).<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">For most interviewers, you should be familiar with at least one database technology for each category (key value, document, columnar, relational, etc). For Google, they typically want you to design from fundamentals instead of using off the shelf technologies.<\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\"><\/div>\n<div dir=\"auto\" style=\"border-color:rgb(255,255,255)\">Number 3 tip: Listen intently to interviewer when they speak and take their hints.<\/div>\n<\/div>\n<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">3. BEHAVIORAL<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">Prepare an introduction about yourself. Keep it short and sweet, highlighting background and &#8211; a major accomplishment. (Don\u2019t be afraid to sell yourself)<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">Grokking the behavioral: <a href=\"https:\/\/www.educative.io\/courses\/grokking-the-behavioral-interview\">https:\/\/www.educative.io\/courses\/grokking-the-behavioral-interview<\/a><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">The resource itself isn\u2019t that useful but should prepare answers from your own experience and recording yourself. Take time to reflect on your past few years and make sure you have answers about conflict, projects you led, giving\/receiving feedback, and challenges you solved. Don\u2019t lie.<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">STAR is a good structure for your stories but I learned a better story shape from this YouTuber.<\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">U shape story: <a href=\"https:\/\/youtu.be\/hU6BVxtGd5g\">https:\/\/youtu.be\/hU6BVxtGd5g<\/a><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">Read \u201cStaff Engineer\u201d: <a href=\"https:\/\/staffeng.com\/book\">https:\/\/staffeng.com\/book<\/a><\/div>\n<div dir=\"auto\"><\/div>\n<div dir=\"auto\">For each company, make sure you know their products, their company motto and values. I kept notes which I read a few mins before my onsite starts. Prepare plenty of questions to ask.<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A Netflix engineer did 7 onsites interviews for 7 tech companies.\u00a0 Received 7 offers ranging $325k &#8211; $800k a year. He\/she shared the resources in Blind that helped her\/him to be successful. Here they are: 1. Leetcode Always ask clarifying questions, they are meant to be vague. Tech Interview Handbook (solve 50 suggested LCs multiple [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[316],"class_list":["post-3570","post","type-post","status-publish","format-standard","hentry","category-great-stuff","tag-mail"],"_links":{"self":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts\/3570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/comments?post=3570"}],"version-history":[{"count":0,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts\/3570\/revisions"}],"wp:attachment":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/media?parent=3570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/categories?post=3570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/tags?post=3570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}