Profile picture

Data Structures And Algorithms Q&A and Videos

About Data Structures And Algorithms

What are the best resources (if any exist) that serve neurodivergent and ADHD tech professionals with technical interview prep?

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

What are the best resources (if any exist) that serve neurodivergent and ADHD tech professionals with technical interview prep?

I’m finding resources very scant and I totally bomber my DSA interview years ago leading to lots of shame I’ve had to overcome and now going back into interviewing rounds which make me anxious so looking for more general help as I also learned only in the last 6 years I also have dyscalculia (dyslexia with numbers) even though I love math (geometry, statistics - anything related to machine learning and computer graphics has always been my fav). I hate standardized tests and get super anxious under time pressure for interviews with abstract questions that aren’t practical and often times get asked in such a way that I will solve the question in reverse and give the inverse answer. I’ve worked really hard to overcome this in my work the last 8-9 years, which I’ve been fine at, but when it comes to interviews I completely crumble.

I also ask this since even though English is my first language (born and raised in Silicon Valley), coming from working class communities of color, standardized testing has been the bane of my existence (even with almost perfect GPA), I crumble when it comes to these tests and find them very biased and feel the same experience for me when it comes to DSA, where I find a lot of bias in how the question is asked, and it’ll be so confusing to me that I’ll end up responding in the reverse. I also in the past was a professional writer (usually obsess about grammar), so I don't think the issue is me not having a grasp of the language, something just isn't clicking for me with DSA, where I've often thrived instead on take home projects, or for some interviews where they lock you in a room for a few hours and tell you to build a project, or have you work on the job.

I’m trying to also figure out if I need to ask the interview more subquestions to makes sure I’m understanding the question correctly so I can respond appropriately.

Any help is appreciated.

Show more
Posted 9 months ago
44 Views
2 Comments

DSA Question for Big O Notation and Structure of Technical Interview

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

It's been a while since I actually was in college and had to remember all the basic fundamental stuff like Big O and every algorithm, leetcode question abstractions etc. (I'm very very rusty).

What is more important to talk about / be most prepared for when interviews asking technical questions during tech screeners regarding Big O Notation? Will we be expected to memorize both runtime and memory for each data structure, algorithm, and design pattern

For example, will I have to whiteboard in pseudocode with a whiteboard marker, show how an infinite loop would function, report the runtime (example Bubblesort, runtime: average O(n^2) worse: O(n^2) and memory: O(1), and need to memorize concept like this? And is this most important to know than writing out the code in a code editor with test cases?

Many people have been interviewing differently during the pandemic in lieu of coming in-person so have had to use leetcode, things like Code Signal and actual IDEs more than before with coming in-person with a physical whiteboard to write pseudocode on. Are we expected to do both (write pseudocode on a physical whiteboard with a whiteboard marker on a particular algorithm in-person and also answer a leetcode question remotely as a part of a screener before that) or is it in the reverse order? Do we typically have to write out pseudocode on a whiteboard after passing a leetcode question as a screener then do systems design afterward? What's the typical sequence for technical interviews for FAANGMULA companies?

Show more
Posted 8 months ago
41 Views
2 Comments

Facing difficulty where to concentrate first

Entry-Level Software Engineer at Taro Community profile pic
Entry-Level Software Engineer at Taro Community

In three months, I'm graduating, and I need to resolve my dilemma now: can I realistically land a job, or am I living in an illusion that I can do anything without understanding the challenges of the real world?

Here's my current daily schedule:

  • Sleep: 8 hours (I tried 6 hours, but after a week, my performance dropped significantly, and I became forgetful.)

  • Workout: 1.5 hours

  • Meal prep & other daily activities: 2 hours

  • Miscellaneous tasks: 1.5 hours

This leaves me with about 3 hours per day for study or self-improvement.

I'm at an intermediate level in Python that's all i know for now. I can write logical solutions, though it often takes a few attempts like run it first then fixto get things right. I also find that I need to go deep into a topic to fully grasp it. For instance, when learning SQL, it's not enough for me to know the query “SELECT * FROM TABLE_NAME”—I need to understand what's happening behind the scenes, like how each record is being retrieved.

I'm at a crossroads regarding my career. With my OPT starting in February 2025, I don't have much time to waste, and I'm trying to decide the best path forward:

  • Option 1: Spend the next 6-8 months preparing intensely in DSA (Data Structures and Algorithms) and working on projects.

  • Option 2: for now focus on building practical projects, aiming to join a smaller company first. This way, I could gain real-world experience and eventually advance to a better opportunity.

I'm struggling to decide which of these two paths would be better for my future.

Show more
Posted 6 months ago
38 Views
2 Comments

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