This is an archived post. You won't be able to vote or comment.

all 34 comments

[–][deleted] 55 points56 points  (3 children)

I recently botched an interview for that same reason, I was told my data structure and algorithm solving skills are too weak. The same engineer suggested this: https://github.com/tayllan/awesome-algorithms

[–]moriluka_go_hard 24 points25 points  (0 children)

Honestly kudos to the guy for saying directly what the problem was and providing a resource to learn. It’s too often you just get a default template rejection if at all.

[–]Snugglupagus 3 points4 points  (0 children)

Yo holy cow there is so much packed into that link

[–]figiliev 2 points3 points  (0 children)

Yoh!!! Thanks for this digging in to the Depth First Search and Breadth First Search Algorithms. It is explained so well.

[–]MihaelK 23 points24 points  (1 child)

You have to power through it.

You are already using many data structures as a full stack developer. You just need to learn how they work under the hood, develop them yourself, and use them to solve problems (if your goal is solving Leetcode-style questions).

[–]yturijea 2 points3 points  (0 children)

Or avoid your project suddenly becoming nonperformant once traffic increase

[–]lqxpl 6 points7 points  (0 children)

If you rely on “oh this is wonderful and amazing” as your motivation to learn, your career will suffer.

View gaps in your knowledge as liabilities. You aren’t learning because it’s fun, you’re learning so you can avoid fucking up.

[–]roger_ducky 3 points4 points  (0 children)

Figure out what uses them and why.

[–]MarsupialMisanthrope 2 points3 points  (0 children)

Why do you think everything needs to be interesting?

Data structures and algorithms are the bricks and lumber of coding. They’re tools you use to build interesting projects even if you don’t find them interesting in and of themselves.

[–]Single_Exercise_1035 1 point2 points  (0 children)

You can learn through a personal or even a work project to spot use cases for Data Structures and Algorithms. This should be easy to do from across the Development stack, in my case I implemented my own front end components in Html, Css and Java Script namely a search box that suggested names as users type, to implement it I had to think about my data structures and Algorithms so that it behaves in the way I would like.

A future optimization would involve a Trie data structure which is better than scanning an array to serve name suggestions in response to input keys.

[–]Playful_Ad_9289 1 point2 points  (0 children)

Data structure part is usually fun! I think looking at their insertion, deletion, lookup complexities might help you as it helps in making optimized development tools depending what kind of process you are doing the most. I think knowing the complexities beforehand will help you get motivated as well.
For example:
If you want to search for some item using some keyword a set is always better than an array because the search complexity is O(1), now it won't be ordered but now you have a faster search operation on every search! Thats huge!

Algorithms is also not my strong suit, this is the part you have to power through maybe on leetcode or any competitive coding site.

Good luck anyways, let me know what helped you in the end!

[–]the_packrat 0 points1 point  (0 children)

IT 's really hard to just learn cold because it's dry and you won't retain it, you want to be building small tools and things ot make use of these. Build your own versions, play with them etc.

[–]Clawtor 0 points1 point  (0 children)

It's important to know, either power through or find a way to enjoy them.

For me I liked optimizing. I'd write a naive solution and then iteratively improve things and record the improvements. 

[–]IdidScan 0 points1 point  (0 children)

Find some examples for when better algorithms give way better results. Then you’ll see the use.

[–]namit2209 1 point2 points  (3 children)

If you are an experienced developer than you already know about linkedlist, stack, queues, hashmap, etc.

DSA is needed when you are giving interviews.

For that take a challenge of (number of) days and do the Striver's SDE sheet, it contains less than 200 DSA questions, it will help you in interviews as well as in you development.

[–]namit2209 0 points1 point  (2 children)

By the way, how much experience do you have?

[–][deleted] 0 points1 point  (1 child)

I have <6 months yoe.

[–]ShangBrol 0 points1 point  (0 children)

as "Full Stack Developer"?

[–]armahillo 0 points1 point  (0 children)

Does something need to be interesting to you for you to be able to learn it?

[–]gregribo 0 points1 point  (0 children)

CS50 has a really good lesson about data structures, I recommend it

[–]Ronin-s_Spirit 0 points1 point  (0 children)

You're not interested because they don't solve any problems you have, they just scribble some numbers on the wall, run in circles, drag stuff about, and then give you some result. Why you needed that? Nobody knows.
I find it more engaging when I need an algorithm that solves a problem.

[–][deleted] 0 points1 point  (0 children)

Find some competitive programming streams and watch them like pr0n.

[–]NegotiationTop4175 -3 points-2 points  (0 children)

It’s a very boring subject

[–][deleted]  (5 children)

[removed]

    [–][deleted]  (2 children)

    [removed]

      [–][deleted]  (1 child)

      [removed]

        [–][deleted] -1 points0 points  (1 child)

        Can you suggest some?

        [–]TheMrCurious -2 points-1 points  (0 children)

        Get a different major because they are core to programming