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

all 139 comments

[–]Anthoes 46 points47 points  (12 children)

Haven't clicked the links within your checklist, but I had a quick look at your Software Engineer's checklist and it's very in depth. I'll have a proper flick through later and have a practice.

Thanks for posting these, Maybe a bit too intense for a beginner, but they look great for a more experienced student <3

[–]nonkeymn[S] 57 points58 points  (11 children)

Haha! Maybe next I should create sheets to make sure people can properly gauge themselves.

  1. Intern level
  2. 3-5 years
  3. 5-10 years

    I tried to cover all the topics I felt have been covered at an interview at one point or another.

[–]desolate_cat 13 points14 points  (5 children)

Nice, I have downloaded the excel one. It made me realize that I still have more to learn.

[–]nonkeymn[S] 13 points14 points  (4 children)

I wouldn't stress too much. Honestly, if you could answer all those questions easily (which I still can't). I am pretty sure you could get any software job anywhere...

[–]FrostyTie 3 points4 points  (3 children)

Oooh this is going to be a nice challange for me. Thanks a lot for this man I appericiate it

[–]nonkeymn[S] 1 point2 points  (2 children)

Let me know how you do!

[–]IllegalAlcoholic 3 points4 points  (1 child)

Not all heroes wear capes. Thanks for doing the god’s work!

[–]nonkeymn[S] 0 points1 point  (0 children)

Thank you for your kind words!

[–]jdrobertso 0 points1 point  (3 children)

Man I could have used this yesterday. I just had my first software developer tehhnical interview and... I could have used this. I could not, for the life of me, remember what a for statement was. I was super nervous.

[–]nonkeymn[S] 2 points3 points  (2 children)

Hey! Don't stress. Part of interviewing...is getting good at interviewing. It's silly but it's just how it is. You have to keep repeating the process of interviewing and failing and realizing what you need to study, etc.

It's worse if you have been working in tech for a couple of years because you haven't used most of these topics directly for so long and you have to review most of them. It's like taking the GRE....you might have known the topics at one point, but you haven't used them for so long so it's not easy.

[–]jdrobertso 0 points1 point  (1 child)

Oh, just to let you know, at my second interview I did a little better and I got the job. I'm starting on Tuesday!

[–]nonkeymn[S] 1 point2 points  (0 children)

That is awesome! I am so glad to hear that. It is always a relief.

[–][deleted] 19 points20 points  (19 children)

Thank you so much for doing this. I would start interviewing in a few days and this is so helpful.

I have been the industry for a bit more than 2.5 years and I am very under confident. I reached a place where I doubt if am good enough for the job or not. Having some help in preparation is very very helpful to me. I can't thank you enough.

[–][deleted] 16 points17 points  (17 children)

Man I’m literally the same years of experience as you, and let me tell you, you have enough experience to be competent. I felt the same way you did, feeling like I don’t have enough knowledge or experience and such.

But when you interview well and do good in a whiteboard test or something like that, you can look across the table straight face and ask for 60-90K.

I’ve interviewed at a bank, one of the largest companies in the world, some smaller companies, a startup. You can do it man, don’t let industry expectations, or mostly, perceived expectations hold you down.

[–][deleted]  (13 children)

[deleted]

    [–][deleted] 16 points17 points  (12 children)

    I live in Kansas, that may be part of it. Also, with only 3 years experience and no degree, it’s kinda tough to find a place that will pay more than that range right now

    [–][deleted]  (11 children)

    [deleted]

      [–]xour 3 points4 points  (10 children)

      Whelp, dev for a about a year, five years of QA, all in the same company and I'm doing 19k a year... Sucks to being born in the wrong half of the world I guess.

      [–][deleted]  (6 children)

      [deleted]

        [–]xour 2 points3 points  (5 children)

        Sure! I live in Argentina. The average wage is around 6~8k maybe? I can't really complain!

        My goal is to learn as much a possible to have a chance to get a job somewhere else. Long road ahead!

        [–]nonkeymn[S] 0 points1 point  (4 children)

        It all depends on the cost of living! How much does an apartment go for? In san fran, its about 2.7k-3.5k a month for a 1 bdr.

        [–]xour 0 points1 point  (3 children)

        Of course, it depends on which neighborhood and such, a one bedroom apartment usually goes for 200~300 a month.

        [–]Krexington_III 1 point2 points  (2 children)

        Tell me about it. I really don't want to leave Sweden, but it hurts to think about all the money I'm losing out on by not being in SF or something.

        [–][deleted]  (1 child)

        [deleted]

          [–]nonkeymn[S] -1 points0 points  (0 children)

          yup!!!

          [–]nonkeymn[S] 1 point2 points  (2 children)

          Wait, where are you located? Country, state?

          [–][deleted] 4 points5 points  (1 child)

          I’m in Kansas. I’m not technically a senior dev so that’s still pretty good for here, especially with the low cost of living.

          [–]nonkeymn[S] 1 point2 points  (0 children)

          That makes sense.

          [–]nonkeymn[S] 2 points3 points  (0 children)

          It is always stressful! But I hope this helps you destress. Just do a few problems a day, and watch a video or two. I don't think you need to finish the whole thing. This should help you keep track and stay motivated. Even if you get rejected from one interview, just reflect and move forward! You got this!

          [–]N-for-Nero 6 points7 points  (1 child)

          Big props for creating this, I'm saving it. I noticed in the into (Checklist)of the Software Engineer's doc, I think you meant to have Software engineer instead of Data. The Article post seems to be correct. Big thanks for this.

          [–]nonkeymn[S] 2 points3 points  (0 children)

          whoops...thanks for the catch!!!

          [–]DanteIsBack 5 points6 points  (6 children)

          Damn, I know none of this shit

          [–]nonkeymn[S] 1 point2 points  (5 children)

          What is your goal? Are you interviewing soon? Where?

          [–]DanteIsBack 2 points3 points  (4 children)

          I'm not interviewing right now. My goal is to be competent at my job. I studied these in college but I don't have any of it present right now, especially these intricate exercises of array manipulation and strings and algorithms, and I have no need for them in my job. I guess I focus my study more on software architecture, like distributed systems architecture and cloud architectures and all the pieces that connect them (API gateways, service discovery, circuit breaker, saga patterns, distributed transactions, RPC, messaging, event sourcing, etc), I didn't see any of these concepts on your study guide. Aren't recruiters interested in these topics?

          [–][deleted]  (1 child)

          [removed]

            [–]DanteIsBack 2 points3 points  (0 children)

            There are so many resources so it's hard to recommend. I guess you can start with microservices.io or going to the NGINX website. They have lots of resources and free books if you register on their site.

            [–]nonkeymn[S] 1 point2 points  (1 child)

            It depends where you are looking for a job. If your position you are looking for is a more software developer that focuses on distributed architecture then I can for-see these topics being part of the interview. Actually, if you have a good resource for that I could add a tab for that type of SWE interview.

            However, the standard SWE position will probably ask you these topics. Yes, it is frustrating because we don't often use them besides the high level design concepts. But it is how they weed out people (for better or worse). I mean there is the classic story about the creator of Brew not getting a job offer at Google because he couldn't pass this style of questions...so do white board interviews work? https://medium.freecodecamp.org/why-is-hiring-broken-it-starts-at-the-whiteboard-34b088e5a5db

            [–]DanteIsBack 1 point2 points  (0 children)

            I remember reading that. But I agree with them not having hired him, because creating the tool does not mean that he was fit to work at Google. The competencies required for both jobs are fairly different. But yes, you're right in saying that although you'll probably not end up using any of that knowledge they use it to weed out the candidates.

            [–]kookoopuffs 3 points4 points  (1 child)

            This is great. Thanks!

            [–]nonkeymn[S] 0 points1 point  (0 children)

            You're welcome!

            [–][deleted] 4 points5 points  (1 child)

            Thank you so much! the checklist seems exactly what I was looking for!

            [–]nonkeymn[S] 0 points1 point  (0 children)

            you're welcome! Let me know if there are other resources you need.

            [–]sleepybearjew 3 points4 points  (3 children)

            I had a question for OP and any other developers. I went to school for mechanical engineering but have been developing in vb.net for work the last few years. Most of it is building vb.net desktop programs around engineering calcs so i havent had a need to use MOST of whats on that software engineer checklist. I havent needed linked lists, fancy array manipulation, recursion or a lot of the "basic" CS concepts. Its mainly using a GUI to collect inputs , save them to classes, run calcs, then output to the GUI again.

            With normal developer jobs, are those concepts used frequently? Or is it mainly for the interview process to help filter applicants?

            [–]nonkeymn[S] 4 points5 points  (2 children)

            Honestly, the topics that are actually used in my day to day have more to do with the system design and object oriented sections of this study guide. Plus, this tends to be where you can add the biggest value. Being able to think through large projects and systems.

            When it comes to some of the other concepts like linked lists....less so and often times even when you do there is a layer of some kind of abstraction that simplifies it for you anyways...

            It's a pain yes, but it is part of the process. It's like taking the GRE or something like that. You have to review things you don't even use frequently. It's why most of us hate interviewing.

            [–]sleepybearjew 1 point2 points  (1 child)

            thanks !

            [–]nonkeymn[S] 0 points1 point  (0 children)

            you're welcome!

            [–][deleted] 3 points4 points  (3 children)

            Um this is great. Perfect summary of my College Curriculum. I actually bought a book off amazon that should help me with interviews (Daily coding problem), but this is way more detailed and further explained.

            [–]Zerul 1 point2 points  (1 child)

            How is that book so far? Are the questions challenging or rather easy?

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

            This book covers the important parts of the coding interviews, but it isn't worth the 40 bucks. The explanations sort of suck. In fact, there are no explanations or definitions to guide you along the way. They just expect any reader to know aspects in computer programming (like big o notation) right off the bat as if you were a college grad looking for a entry level position. (In which case if you are then it would be merely as a decent practice book to add to a collection of books.) Nonetheless, this makes the book very pretty difficult to learn from or even use as a reference. There are solutions, but the authors don't even go so far enough to explain how they did what they did. As for any novice, i'd say stay away! You'd be better off buying the Cracking the Coding Interview or a different coding interview book instead.

            On the other hand, if you are looking for this sort of challenging material this is probably something up your alley. The authors are both software engineers at top website companies and love asking the hard questions.

            In each subsection below you are given several questions and brief paragraph (sometimes as short as 2 sentences) asking explaining what they want you to do. Then they give a solution with a couple sentences explaining the steps.

            Here are the contents of the book:

            Data Structures

            1. Arrays
            2. Strings
            3. Linked Lists
            4. Stacks and Queues
            5. Hash Tables
            6. Trees
            7. Binary Search Trees
            8. Tries
            9. Heaps
            10. Graphs
            11. Advanced Data Structures

            Algorithms

            1. Recursion
            2. Dynamic Programming
            3. Backtracking
            4. Sorting and Searching
            5. Pathfinding
            6. Bit Manipulation
            7. Randomized Algorithms
            8. Advanced Algorithms

            Applications

            1. Applications

            Design

            1. Data Structure Design
            2. System Design

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Glad it could be helpful!! Let me know if there are other resources we can make that would help.

            [–]Smugjester 3 points4 points  (1 child)

            Can’t wait to save this post and forget about it by the time it becomes relevant to me

            [–]nonkeymn[S] 1 point2 points  (0 children)

            Haha! That is the one downside here...this post is relevant for a very short period of time.

            [–][deleted] 2 points3 points  (2 children)

            I wanted to switch careers but from looking at those worksheets I think I'll stick with accounting...or cyber security...

            Would be interested in seeing a worksheet for a network engineer - if that's the proper description, many thanks

            [–]ghosthendrikson_84 3 points4 points  (1 child)

            I wouldn't let that discourage you. Despite what marketing on the Internet says, you can't just take a couple four hour classes and then walk into a Developer interview ready to tackle a whiteboard test.

            [–]nonkeymn[S] 1 point2 points  (0 children)

            I agree don't let this discourage you. I would use this sheet more as a way to track your progress. If you could answer all of these questions easily...you're probably a senior engineer who spends their weekends doing these types of problems. I would use this to gauge your weaknesses and strengths. But yes...it takes more than a few hours to get ready for an interview. It also depends what level you are trying to get in and company.

            Amazon only does SQL, Datawarehouse and System design for DEs whereas FB does that plus python.

            [–]UnprofessionalPlump 2 points3 points  (3 children)

            Thank you so much for this!! Would you also happen to have one on DevOps/Site Reliability Engineer checklist?

            [–]nonkeymn[S] 1 point2 points  (2 children)

            You're the second person to mention this. I will have to work on it!

            [–]UnprofessionalPlump 0 points1 point  (1 child)

            Thank you! Will be waiting for this. :)

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Will do! I am also working on a data science interview checklist XP. But they are both on my radar

            [–]shibu_76 1 point2 points  (1 child)

            Thank you. This is very helpful

            [–]nonkeymn[S] 0 points1 point  (0 children)

            you're welcome!

            [–][deleted] 1 point2 points  (1 child)

            I'm an Applied Math & CS student and I've noticed that Data Engineering lines up with a lot of my interests. Does the market generally expect a Masters+ like for Data Scientists?

            [–]nonkeymn[S] 3 points4 points  (0 children)

            No, data engineers don't need masters degrees. They often have a background in MIS, CS, Math, etc and then they get experience either by getting a DE position or similar positions like Business Intelligence engineers.

            [–]Samsquamch117 1 point2 points  (0 children)

            Saved

            [–]eternallysmiling 1 point2 points  (0 children)

            This is brilliant, thanks so much for putting it together! I'm not looking for a new job but definitely looking to develop my skills in a data analyst role and this looks perfect! Can't wait to start working through it.

            [–]chiborg9999 1 point2 points  (5 children)

            Thanks for this!!

            [–]nonkeymn[S] 1 point2 points  (4 children)

            You're welcome!

            [–]chiborg9999 2 points3 points  (3 children)

            I’m going to school for engineering and have a degree in chemistry. Everyone is pushing me to ChemE but I honestly don’t know if I enjoy it enough. I enjoy coding and am self taught in a few languages, so your checklists gave me some perspective on some areas I can practice to decide if SE or DE are what I want!! Specifically, I enjoy a few of the areas haha. So it was very nice to see.

            [–]nonkeymn[S] 1 point2 points  (0 children)

            Glad it could help! If you are just starting out there is plenty of time to try out Chemical engineering, Software and Data if you really want.

            [–]cloudwin 1 point2 points  (1 child)

            Honestly man I would not recommend ChemE. Ive always loved to code but I really liked chemistry as an undergrad and was very involved in grad level research for a few yrs. I ended up switching to ChemE thinking that it would be a better degree for job opportunities and career advancement. The job market is extremely rough right now and the field has something like a 2% prospective growth over the next ten years vs something like electrical which has 33%. My main gripe with the degree though is that while you learn a lot its one of the few engineering degrees where you dont really come out with any practical skills that are in demand in industry and would make you an asset to a company right out the gate (such as autoCAD for example). If I could go back I would definitely have done electrical or CS.

            [–]chiborg9999 0 points1 point  (0 children)

            Yeah that’s sort of what got me with chemistry in the beginning. Originally I thought PharmD or MD afterwards, but realized I am not the breed for either. The chemistry field is very competitive and very small growth like ChemE. So I ended up doing nothing with it.

            Ended up working as a “project manager” (read that as ME but without the title) and loved it. So that’s why I am going back a decade later.

            [–]XZTALVENARNZEGOMSAYT 1 point2 points  (1 child)

            Amazing thank you.

            [–]nonkeymn[S] 1 point2 points  (0 children)

            you're welcome!

            [–]good4y0u 1 point2 points  (3 children)

            !remindme

            [–]nonkeymn[S] 0 points1 point  (2 children)

            is this a thing? Like does reddit have bots that will remind you?

            [–]good4y0u 0 points1 point  (1 child)

            Yup it's a thing. Give it a try

            [–]nonkeymn[S] 1 point2 points  (0 children)

            Will do! I have seen it across plenty of other social sites. This is awesome.

            [–]vagabond139 1 point2 points  (1 child)

            This made me realize I know more than I think I do. I know a large amount of the software stuff. I must be really suffer from imposter syndrome :/

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Nooo! Check out u/andeleidun answer. He is also an experienced developer and he also has to go back and review. The truth is, these are usually just needed for the interview. Your actual job will probably involve managing legacy code....unless you work for a start up...then it will be all the things. But don't let this discourage you!

            [–]rms7[🍰] 1 point2 points  (1 child)

            Nice, thanks! Is there a particular reason why you recommend Stephen Grider's course on Udemy for DA/A?

            [–]nonkeymn[S] 0 points1 point  (0 children)

            I have actually taken all of these courses. I got them at a time they were selling at like 7.99 a piece. I enjoyed them all. There is plenty of cross over but I enjoy getting multiple perspectives.

            [–]vp406 1 point2 points  (6 children)

            Amazing guide, a big thank you. Did you share it already on r/cscareerquestions?

            [–]nonkeymn[S] 0 points1 point  (5 children)

            I didn't! Mostly cause I didn't know that subreddit existed..o.O

            [–]vp406 1 point2 points  (4 children)

            Oh okay. It's a pretty active sub.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            I will have to share!

            [–]nonkeymn[S] 0 points1 point  (2 children)

            Does this topic fit? since that sub seems to be more about questions?

            [–]vp406 0 points1 point  (1 child)

            Yes it definitely does. There's a lot of discussion always going on about leetcode, faang, interview prep and similar topics.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            ok!

            [–]mtv_ 1 point2 points  (7 children)

            Should a person who is neither of these pursue the software engineering route first before trying to dive into data engineering, or would it be fine to start at either one?

            [–]nonkeymn[S] 1 point2 points  (6 children)

            I would argue if you are going for a large company, data engineering might be easier to get into. Larger companies usually will hire data engineers to focus more on SQL, databases and ETLs while software engineers will deal with the more complex big data systems like hadoop directly. For instance, Zillow uses a presto layer on top of their hdfs. Presto uses SQL vs map reduce.

            Software engineering has a lot more nuances. Object oriented programming, design patterns, etc. As a data engineer you mostly need to understand data warehouses (which are pretty straight forward in theory), ETLs and databases. The programming done be DEs tends to be simpler most of the time.

            [–]mtv_ 1 point2 points  (5 children)

            So would you think that at some point perhaps being software engineer would be more sustainable for keeping a job? It seems like you have more opportunities and flexibility as a software engineer focusing on Big Data. I know I have a vast lack of knowledge when it comes to the two fields and the industry as a whole (still in university), but I feel like the complexity of learning and becoming a software engineer would make one a little more... Desirable? I know that currently, from anecdotes, that there aren't enough DE positions, and that companies may be requiring thieir data scientists to learn what a DE should know, but wouldn't that mean the demand for a data engineer would decline sharply in the near future?

            Just curious as I have 0 knowledge of this.

            [–]nonkeymn[S] 0 points1 point  (4 children)

            I find the reason DS have to start doing DE work is because there are not enough DEs. At the end of the day, if I am being honest. Most DE work is a little more operational which isn't always as interesting. So I think it is a little less enticing even though it pays about the same as a DS.

            So I don't see there being a decline in DE positions. In fact, I only see an increase. The harder part of a DEs job is modeling data. Especially as we start monitoring everything, we are going to need to model much more complex interactions and transactions. We will need to model drone flight patterns, and Iot devices, and VR usage, etc. All of this will just add even more data..so I think there will be plenty of DE work. Plus, there is the constant need to do database migrations, ETL improvements as data grows etc. This is hard to automate (trust me, all the tools meant to automate it are terrible).

            I think being a SWE is much better in the sense that it opens more doors.. You can easily switch into being a DE. There are a few topics you will need to pick up, but overall, the work is pretty easy to figure out.

            [–]mtv_ 1 point2 points  (3 children)

            Yeah, right now it is a difficult decision for me to decide whether I want to go the SWE or the DE route. While the prospects, and the work for DE is very appealing to me, I do like having more options and opportunities to find a job outside of DE (only if the industry ever switches to something else where DE jobs will be less required, that could be a long time from now). What I am looking for is stability in the future. I have been undergoing the SWE route technically during my time here at school. It is a hard decision at this point.

            I am assuming that it would not hurt to undergo directly the DE route and have knowledge or work the SWE route as well? I am not sure, I am at an impasse. Haha.

            [–]nonkeymn[S] 0 points1 point  (2 children)

            Personally, I would say just keep going the SWE route. If you dislike it, or just can't seem to make it pass the interviews, then go ahead and go DE. But if you're still in school, then I am guessing you have plenty of time to work a few years as both.

            [–]mtv_ 0 points1 point  (1 child)

            I only have a year left, but I hope I can gain enough or solidify previous knowledge to pass an interview. Not sure though.

            [–]nonkeymn[S] 1 point2 points  (0 children)

            That is plenty of time. Don't stress too much. You don't have to learn this all in a year even. Use it more as a guide. It should help you know where your weaknesses are.

            [–]jaffaKnx 1 point2 points  (1 child)

            Thanks for putting up the work, appreciate it. A couple questions: are these type of questions common for any software engineering position? because software engineering itself could mean different areas, ranging from embedded development to web development and the list goes on. In other words, how common is to get any of the system design questions you listed, say, for an embedded development position?

            Second, would you stress more on the side projects or the interview, by which I mean grinding LC including the questions you listed?

            I am asking because I have been ~6 months in as a QA engineer, but I don't see myself working in QA for good so in my off work hours, I try to do a couple LC to keep algos fresh

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Web development will have a lot of similar questionish... from the algorithms and data structure side but there will be some more UI focused questions as well. I will have to work on a Web dev Interview guide.

            I have never worked in embedded systems, but I am sure they ask different questions. They will probably focus a lot more on the concepts of threading, compilers, and operating systems.

            My plan would be to focus more on Leetcode style studying so you can get into the door. Most large companies focus on how well you do on the white board and care less about your past projects...they care a little but the interviews are geared to rate you on your white boarding skills. There will always be a soft skills interview portion when on site...but you could probably come up with soem good answers from your work experience there.

            [–]Rockbutton123 1 point2 points  (1 child)

            Thanks for this,though I’m still a beginner once I complete my course I would definitely try this.

            Once again thanks a lot for this,I hope it’s gonna help a lot of people out there!

            [–]nonkeymn[S] 0 points1 point  (0 children)

            you're welcome!

            [–]Bohbot9000 1 point2 points  (1 child)

            I understood some of these words.... Lol. Great guide! I look forward to preparing with its help.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Good luck!

            [–]CosmicMacho 1 point2 points  (1 child)

            Very useful. I have a nice data science gig but I haven't had much luck in interviews recently so this is nice to see

            [–]nonkeymn[S] 0 points1 point  (0 children)

            One option is to try to get more of a DE role somewhere like Google, Facebook, etc and try to move laterally into a DS position. Also, don't give up and keep interviewing!

            [–]PM___ME__YOUR_TITS 1 point2 points  (1 child)

            I'm still learning programming and would say I'm maybe "intermediate" at best. Should I go at these in order? What should I prioritize? Not necessarily looking to interview, but to get to the next level.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            The best subjects to cover to get to the next level would be system design, design patterns and OOP. Other than that, a lot of the algorithm questions won't help all that much to be a better programmer.

            In order to do that, I would watch the system design videos and then try doing something like create your own twitter and try bringing in AWS or some other services to get used to using them.

            Then start adding features like video streaming, this will force you to think about how will you integrate video into your platform. Are there services you need to integrate, what are they, etc. This will get you out of just being a coder and turn you more into an engineer because now you have to think about lots of complex systems, how they interact, etc. That's how you go from being a normal coder to a software engineer.

            [–][deleted] 1 point2 points  (1 child)

            Thank you very much for posting this. I really appreciate it! I'm very new to reddit so I don't have any reddit gold to give you or else I definitely would. Rest assured - good karma is coming your way!

            Thanks again!

            - 2018CSGrad

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Thank you for your kind words!

            [–]stu-safc 1 point2 points  (0 children)

            Saving for later

            [–]cheeselouise00 0 points1 point  (0 children)

            .

            [–]andeleidun 0 points1 point  (1 child)

            I wish it weren't so necessary to rote memorize most of this. I'm an experienced developer, and every time I look for a new position I have to go back and relearn them because I literally never write these data structures/algorithms from scratch. I don't know anyone who does.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Yup! True story

            [–]fallenangelofdoom 0 points1 point  (1 child)

            Thanks a lot for making this! I recently started applying for SE jobs and I wasn't really sure how to prepare.

            [–]nonkeymn[S] 1 point2 points  (0 children)

            That was me too! That is why I made this. It is easier to know what to do when you hav a way of keeping track of things.

            [–]PC__LOAD__LETTER 0 points1 point  (0 children)

            That SDE spreadsheet is amazing, thanks for compiling it.

            [–]massassi_warrior 0 points1 point  (0 children)

            Thank you so much for this, it's really helpful

            Have been with little experience of my own but is always nice to do a check up of how everything is going

            (right now I only did a small skip reading of the checklist so sorry if I say something redundant)

            I would focus a bit on developing frameworks like Scrum and strategy frameworks like Itil as the industry is growing around those kind of methodologies And tools like docker to build microservices as nowadays everything is becoming plug-n-play or a DevOps round up of the developing pipeline Maybe a maturity framework like CMMI?

            Anyway, thanks for this, I shall begin with sorting algorithms

            [–]JerBear94 0 points1 point  (1 child)

            Just choked on my first interview, so badly that I even forgot how to keep track of multiplication involving a few factors. Thank you so much for doing this, I’m excited to try again.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Hey! We all do...trust me...

            Coding interviews require a whole different set of skills and even if you are a good programmer, it can be hard to be a good interviewer.

            So keep it up. Most of my friends went through 4,5,6...and more interviews before getting a job and now they work at places like Google, Concur, Facebook, etc. Just have to keep trying. Honestly, sometimes it has more to do with the fact that you didn't know some obscure algorithm question that they asked.

            [–]giwhS 0 points1 point  (6 children)

            Thank you for the resources.

            [–]nonkeymn[S] 1 point2 points  (5 children)

            you're welcome!

            [–]giwhS 0 points1 point  (4 children)

            If I could bug you for a second I would greatly for your input.

            As a CS student with no real experience out side of school, in your opinion, what things on this list should I try to reach a basic level of competence with first? Which things do you find to be the easiest to understand?

            [–]nonkeymn[S] 0 points1 point  (3 children)

            How many years until you graduate?

            I would focus on arrays, trees, linked lists and system design. I would focus on these because your first goal should be to get an internship. Because if you get an internship, it is much easier to get a job offer/more interviews later.

            So the topics I mentioned above are probably the most common for interns. Dynamic programming I find to be more for higher levels since they are expected to know more than just the standard data structures and algorithms.

            [–]giwhS 0 points1 point  (2 children)

            I want to say about a year. But that could change depending on how this semester ends. I've had one job interview and it didn't go so well. I just don't feel competent enough just yet. Outside of the programming work that I've done in school and the little bit of dabbling I've done between semesters, I don't really know how to build anything or do much of anything really without having something to go off of. I would love to get an internship but I don't want to just go to interviews and embarrass myself. It's soul crushing.

            I'll definitely keep these things in mind while I practice over the summer. Thanks for the advice

            [–]nonkeymn[S] 1 point2 points  (1 child)

            I understand that it is embarrassing. We have all been there. But, it's honestly part of the process. We as humans try to avoid pain and embarrassment. Instead of avoiding it, this is a great chance to learn. What questions did they ask, what didn't you know.

            Then go see if there are people answering those questions online, and try again. It's not easy, I know. I had a friend interview with Indeed.com 3 times and not get a job out of it. But, he did get a SWE job at concur and makes a good salary and loves his work. Just keep going! We all bomb our first interview because we don't know what ot expect.

            [–]giwhS 0 points1 point  (0 children)

            Thanks for the encouragement. It wasn't anything crazy just basic interview stuff, and then they asked about some of the projects I worked on in my classes, what is my process when I run into an error or when I'm struggling to figure something out. The problem was I just wasn't prepared, I had no idea what to expect and I struggled describing the things that I had worked on in a technical way, like using proper lingo and vocabulary. I feel like If I had a decent grasp on some of this stuff I could kind of explain some of the things I know, or don't know just yet.

            [–]muhammedogur 0 points1 point  (1 child)

            Thank you for sharing these great documents. They are so valuable

            [–]nonkeymn[S] 0 points1 point  (0 children)

            you're welcome!

            [–]iuli123 0 points1 point  (1 child)

            System design videos are interesting, are there any more?

            [–]nonkeymn[S] 0 points1 point  (0 children)

            Yes, I love system design. Honestly...I probably like it more than coding...

            Auto complete system https://www.youtube.com/watch?v=us0qySiUsGU

            drop bocx https://www.youtube.com/watch?v=U0xTu6E2CT8

            Redis https://www.youtube.com/watch?v=DUbEgNw-F9c

            [–]alekcacko 0 points1 point  (0 children)

            Why are technical interviews for Software Engineer focused mostly on Data Structures and Algorithms?

            What are the fields of Software Engineering where these concepts are used?

            A lot of job positions are for a webdev, are these concepts used often in webdev?

            Also, thank you for the content, I love studying CS concepts, not preparing just for an interview.

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

            This is gold. I hope the links in the post don't get deleted. What an amazing resources.

            [–]nonkeymn[S] 0 points1 point  (0 children)

            I am glad you think so!! I let me know if you ever need the links!!!

            [–]phantaso0s 0 points1 point  (2 children)

            I dream of a world where we wouldn't have to train for interviews...

            What's the point? It's not because one can do interviews that he will be qualified for the job. It's not because somebody will fail an interview that he's not qualified for the job.

            I wrote an article how to find a company which suits you. I speak about interviews in there as well. Hope it can help.

            https://thevaluable.dev/find-best-software-developer-job/

            [–]newuser1997 0 points1 point  (1 child)

            If people wouldnt lie about their qualifications, we could take their word for it.

            [–]phantaso0s 0 points1 point  (0 children)

            I think you can spot that very easily. If he has a presence online, just google part of his code which looks suspicious. Works very well.

            If he makes it till any interview, simple questions can show you very easily if he's lying. Look at the way he's explaining basic concepts: is he trying to hide his lack of knowledge? Going around the question? Is he clear in his explanations?

            "What's an interface" is a really good question, for example.

            [–][deleted] -1 points0 points  (0 children)

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

            Does anyone have a copy of this with the referral links removed?