Taro Logo
Profile picture

Data Structures And Algorithms Q&A and Videos

About Data Structures And Algorithms

The computer science concept we all love to hate. However, it is vital to master them to pass tech interviews, especially those at Big Tech.

Should I quit to prep for interviews?

Data Engineer at Financial Company profile pic
Data Engineer at Financial Company

I’m currently working as a Data Engineer for a mid-sized (1500 people) investment-services corporation. The company has been around for a long time and makes money, but it definitely isn’t a tech-first company (e.g. it refers to the software side as “I.T.”, has tons of meetings, approvals needed to install almost anything on my computer, including VSCode).

I want to get into FAANG as a software engineer because I want to move away from the business/data side of things and closer to the engineer side of things. On my current team, I’m the lone data-engineer (will be joined by another in a few months) and as someone with <3 years of experience, I know that my growth is being stunted.

I’m currently grinding AlgoExpert to prep for interviews.

How should I think about the circumstances under which it would be worthwhile to quit in order to prep (full time) for FAANG interviews? Here’s what I can come up with in terms of current pros/cons of quitting:

Pro’s of quitting:

  • A LOT more time to prep for interviews, can probably increase my output of questions by 3x
  • Can do a lot more interviews without worrying about my job and scheduling
  • Do less business/data stuff which I plan on moving away from anyways
  • Get closer to a FAANG salary faster, which will likely be around 2x of my current salary


  • Don’t know how long it will take me to get a job
  • Don’t know how easy it will be for me to get interviews without a job
  • Psychological benefits of having a job
  • Some learning on the job
  • Low-stress job, nice manager, no overtime
  • Already take an hour or two of my current job time to do AlgoExpert
  • Make some money right now

How does the answer change (if at all) if I manage to land interviews with a bunch of different FAANG companies (say 5+) and I’m struggling to schedule all the time for interviews, prep for them, and do minimal work at my current job?

Thoughts are appreciated!

Show more

Learn About Data Structures And Algorithms

Data structures and algorithms (DSA) are fundamental concepts in computer science and software engineering. These concepts are essential for solving complex problems and are often used in technical interviews at big tech companies like Google, Meta, and Amazon.
Data structures are a way of organizing and storing data so that operations can be performed efficiently. Common data structures include arrays, linked lists, stacks, queues, trees, and graphs. Understanding data structures is crucial for designing efficient algorithms and optimizing the use of memory and compute.
Algorithms are procedures or formulas for solving problems or performing tasks. Algorithms are used to manipulate data stored in data structures, and they are essential for tasks like searching, sorting, and graph traversal. The efficiency of algorithms is measured in terms of time and space complexity, which determines how quickly an algorithm runs and how much memory it uses.
Data structures and algorithms are closely related because the choice of data structure can significantly impact the performance of an algorithm. Choosing an appropriate data structure is crucial for optimizing the efficiency of an algorithm. It’s also true that choosing the right algorithm can maximize the data structure that gets used.
Doing well in data structures and algorithms problems means you have developed the critical thinking skills required to solve technical challenges as a software engineer. As a software engineer, you encounter many challenges, and the ability to choose and implement the right data structure and algorithm is fundamental to coming up with efficient and scalable solutions.
Many companies assess their candidates based on their ability to solve algorithmic based problems during an interview. Learning how to solve these problems effectively can be the difference between getting hired and not getting hired. Make sure you work on coding exercises that let you apply your data structures and algorithms knowledge before you go into your technical interview, so you can be prepared to answer any technical question during your interview.
In summary, data structures and algorithms form the backbone of computer science and software engineering, enabling engineers to develop efficient solutions to complex problems, and they play a critical role in technical interviews for top companies.
Show more