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.

Help after a layoff

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

Hello,

I got laid off this January, and I am trying to find guidance on finding my next job. I have almost 4 years of experience (2 FAANGs). So far I had 7 first round interviews, made it to final round on 2 (failed 5), and got one offer, which is a really big pay cut (govt job) and I have to relocate far, so I am not really wanting to take that offer.

I am applying for front-end roles so my prep varies between leetcode (50%), JavaScript and front-end tech questions (30%) and System Design (20%). I was very shaky on algorithms and front end, I wish I studied more before interviewing (I kinda freaked out and jumped too soon to the job hunt with spoiled skills).

Almost every new job opening is a pay cut, even for senior positions (I wasnā€™t senior). Is the market really that bad now? Iā€™ve seen posts on Reddit and other places of people getting a job quickly after getting laid off, and not only that, it is a pay increase, which makes me feel like I am doing something wrong, since Iā€™ve been job hunting for 4 months now. Sometimes I get demoralized after so many rejections but I keep trying every day to get better skill wise, I feel like I got laid off because I was an underperformer. Even though I was never put on disciplinary action, it did take me a lot of effort to understand and accomplish my tasks, unlike other of my coworkers, so I keep reflecting if I could have done something different.

Anyone in the same position than me or has experienced this before could give some advice? Or any comments are appreciated, thanks.

Show more
260 Views
3 Comments

Discussing Projects in Interviews

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

Iā€™m a Data Engineer at a slow-moving finance company whoā€™s looking for my next job in Big Tech. I just had a recruiter from Stripe reach out about scheduling an interview, which happened because I had a buddy who works at stripe refer me to the role. The position is for backend engineer.

The recruiter says the call will be 20 minutes and I should come prepared with ā€œthe most technically complex projectā€ Iā€™ve worked on, and talk about my role, duration, number of engineers, and stakeholders.

Iā€™m nervous about this because my current role is something of a hybrid between data engineer and data analyst and I do a fair bit of data-analyst type work. Itā€™s not that I donā€™t have projects I can talk about, itā€™s just that Iā€™m insecure about them and I feel like they are unimpressive to a ā€˜realā€™ software engineer and this becomes apparent under sustained scrutiny. So maybe I can get by the 20 minute intro call, but there will surely be an hour-long session later where they want to go into excruciating detail. I do have some experience with backend as well, but itā€™s already almost 3 years ago now.

My question is this: how can I go about improving my situation? Iā€™m applying for entry-level roles (IC1) and was under the naĆÆve assumption that I just had to get very good at DSA/Leetcode. Obviously, this is not the case.

In order to better handle these project walkthroughs going forward, I see a number of potential approaches, which are not necessarily mutually exclusive:

  1. Get better at discussing projects in my current toolkit. Ditch the imposter syndrome and spend more time thinking about what I already have.
  2. Invest more in my current job to create better projects with ā€˜scopeā€™ that are more impressive in interview rounds. Right now, Iā€™m not very committed to my work and coast, doing whatever is assigned to me but in a minimalist way. My current manager has told me how he wants me to be more active in getting things done and taking on a larger role, but as a Tier-3 company, there is no expectation or requirement for me to do so (i.e. very low chance of me being let go), and furthermore, I tell myself I will be leaving soon, so why take on more responsibility? This might ironically contribute to it being harder for me to move since I donā€™t do the kinds of things that make it easier to interview.
  3. Do side-projects outside of work that I can discuss. But here I run into the issue that Iā€™m not working with anyone (unless itā€™s open source) and this is probably not the best approach unless my side-project is really good with users. Iā€™ve heard Alex and Rahul say this a number of times.

Happy to hear anyoneā€™s thoughts about how I can improve my situation. I probably have the wrong attitude towards my current role, as Iā€™ve been wanting to leave it for over a year. Iā€™ve thought about quitting a lot so I can have more time for interviewing, side-projects, networking, learning, and prep, but everyone says thatā€™s a bad idea (especially in the current climate), so itā€™s easier to just muddle on in my current role.

Thoughts are welcome!

Show more
168 Views
1 Comment

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