2021年1月3日 星期日

How to prepare data structure and algorithm problems in software engineer interviews (link to LeetCode Discount- expired)

LeetCode Premium discount (15% off)

If you are preparing to interview for a software engineer/ data scientist position, chances are that you're brushing up your data structure and algorithm skills. One of the leading websites to practice data structures and algorithm problems is LeetCode. TL;DR version of this post: Use this link to get 15% off LeetCode Premium (the offer expired at 4/30/2022).


If you've read on, here's a short introduction of myself: I'm a software engineer with a non-traditional background, which in my case means that I majored in Chemistry and Environmental Science, but later attended a 3-month coding bootcamp in San Francisco. Since then I've successfully transitioned into a front-end web developer and currently work at one of the FAANG companies (abbreviation for Facebook, Amazon, Apple, Netflix, and Google). 


As someone who never studied computer science in school, here's my take on what it takes to get a full-time software engineer position: coding bootcamps can quickly teach you how to code and build products you can put on your resume, and that will help you get noticed by recruiters and get you interviews. However, as any software engineer in the U.S. will tell you, the hardest part of successfully nailing the software engineer multi-stage interviewing process is passing the white-board questions. 


During the interview process, you'll be quizzed on at least 5-7 white board questions that consist of data structures and algorithm, and this is the part bootcamps do not teach you. To prepare for white-board questions, I've relied on books such as "Cracking the Coding Interview", Udemy courses such as Master the Coding Interview: Data Structures + Algorithms, and of course, LeetCode. 


The best part about getting LeetCode Premium is that it allows you to see questions tagged by the company you're interviewing for. For example, there are 925 questions on LeetCode people have reported as questions that came up during a Google interview. This way, if you are preparing for an upcoming interview at a specific company, you can filter the problems you want to see and focus on. Other benefits of getting the Premium version of LeetCode include being able to view official problem solutions provided by LeetCode, company-targeted mock interviews, faster response after submitting code solutions, etc.


It's been 5 years since I attended a coding bootcamp and became a Silicon Valley software engineer, and I have never regretted this decision. I enjoy the salary and benefits of being a software engineer as well as the flexibility around my working hours. In 2020 and throughout this ongoing pandemic, I felt fortunate that my job allows me to work 100% at home. Of course, as any software engineer will tell you, one of the toughest challenges that come with this role is that you need to devote to life-long learning, as technologies and coding languages are constantly evolving, and you need to be able to keep up with all the changes. This is a fast-paced, fast-changing industry, and the interview process, including the problems that pop up during white-board sessions are always evolving as well. To stay sharp and up-to-date, I definitely recommend investing in tools that help you learn more efficiently. For me, LeetCode Premium has been that tool.

沒有留言:

張貼留言