Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Shirec posted:

a really lovely Reddit clone

Coming out ITT as the founder of Voat is pretty daring of you

Adbot
ADBOT LOVES YOU

TheIncredulousHulk
Sep 3, 2012

Also on subject of whiteboarding: if I am trying to do something where the solution I want is to like calculate a running median with a min heap + a max heap, would I likely be expected to pseudocode out the heap too or would they just take my word for it since I wanted to use one in the first place? I guess this applies to all data structures

Eezee
Apr 3, 2011

My double chin turned out to be a huge cyst
What is the point of the LeetCode style questions anyway? There's just a couple of archetypes of questions and you can reduce most interview problems to one of those types.
How does solving these problems actually make me a better coder or prove that I can solve real world problems?
I've never had to solve an algorithmic challenge in a real project where I didn't have access to the Internet or at least enough time to mull over a good solution.

Thankfully in Germany most companies don't really do those tests and just want you to tell them about your past projects and ask some more general technical questions instead of relying on rote memorization of LeetCode problems .

Love Stole the Day
Nov 4, 2012
Please give me free quality professional advice so I can be a baby about it and insult you

Eezee posted:

What is the point of the LeetCode style questions anyway? There's just a couple of archetypes of questions and you can reduce most interview problems to one of those types.
How does solving these problems actually make me a better coder or prove that I can solve real world problems?
I've never had to solve an algorithmic challenge in a real project where I didn't have access to the Internet or at least enough time to mull over a good solution.

Thankfully in Germany most companies don't really do those tests and just want you to tell them about your past projects and ask some more general technical questions instead of relying on rote memorization of LeetCode problems .

https://forums.somethingawful.com/showthread.php?threadid=3376083&userid=0&perpage=40&pagenumber=666#post504645166

asur
Dec 28, 2012

TheIncredulousHulk posted:

Also on subject of whiteboarding: if I am trying to do something where the solution I want is to like calculate a running median with a min heap + a max heap, would I likely be expected to pseudocode out the heap too or would they just take my word for it since I wanted to use one in the first place? I guess this applies to all data structures

They shouldn't ask you to implement the data structure unless that's literally the problem or you choose a language that doesn't have it and even in the latter case they'll probably handwaved it away.

Shirec
Jul 29, 2009

How to cock it up, Fig. I

Munkeymon posted:

Coming out ITT as the founder of Voat is pretty daring of you

I'll have you know mine was elder gods themed, so it would slowly change all the text to just Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn etc and get increasingly distorted as you clicked around.


Eezee posted:

What is the point of the LeetCode style questions anyway? There's just a couple of archetypes of questions and you can reduce most interview problems to one of those types.
How does solving these problems actually make me a better coder or prove that I can solve real world problems?
I've never had to solve an algorithmic challenge in a real project where I didn't have access to the Internet or at least enough time to mull over a good solution.

Thankfully in Germany most companies don't really do those tests and just want you to tell them about your past projects and ask some more general technical questions instead of relying on rote memorization of LeetCode problems .

There's a huge ongoing issue in the industry of how to interview devs, and no one has come up with a perfect solution yet. Leetcode rewards memorization and may not reflect real world skills, take homes are asking you to sink x hours into an interview, whiteboarding in front of folks doesn't mirror real world, etc etc. So then you have to prep for all of them and it sucks

Shirec fucked around with this message at 23:02 on Jun 3, 2020

TheIncredulousHulk
Sep 3, 2012

asur posted:

They shouldn't ask you to implement the data structure unless that's literally the problem or you choose a language that doesn't have it and even in the latter case they'll probably handwaved it away.

Thanks, that's reassuring. I need to practice more anyway just in case I get told to make one for the problem but implementing some of the methods just haven't really stuck in my head even if I remember what they do

Thom ZombieForm
Oct 29, 2010

I will eat you alive
I will eat you alive
I will eat you alive
Hey newbies, message from a fellow newb who got a job out of college semi recently- it can be a firehose of work that will consume your mental and physical health if you aren’t careful. Have some sort of exercise and try for more healthy meals than not healthy. I ignored doing this like a chump and have a lot of work ahead of myself to get back to baseline. I’ve learned a bit about myself psychologically during this job, burnout is a real thing that can happen to junior engineers

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Shirec posted:

I'll have you know mine was elder gods themed, so it would slowly change all the text to just Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn etc and get increasingly distorted as you clicked around.

That actually owns bones as a "you've been here too long - go outside" mechanism.

College Rockout
Jan 10, 2010

On a related note to leetcode whiteboarding, what do you do when you get questions like Alien Dictionary or LRU cache in a interview? As I'm working through the leetcode problems I feel like there's a fair amount where you'd have to be an avengers level threat to be able to solve them in an interview setting within the allotted time without having seen them before. Should I just pretend I've never seen them before and magically intuit every insight I need to solve them? The interviewers got to know right? Some of these problems takes me over an hour just to understand how the solution works.

Jose Valasquez
Apr 8, 2005

College Rockout posted:

On a related note to leetcode whiteboarding, what do you do when you get questions like Alien Dictionary or LRU cache in a interview? As I'm working through the leetcode problems I feel like there's a fair amount where you'd have to be an avengers level threat to be able to solve them in an interview setting within the allotted time without having seen them before. Should I just pretend I've never seen them before and magically intuit every insight I need to solve them? The interviewers got to know right? Some of these problems takes me over an hour just to understand how the solution works.

Most interview questions in my experience are around a medium on leetcode. You might get a hard just to see how you handle it

Hamming Cube
Apr 8, 2010
Another question about interviews, should a person trying to transition into tech expect to be asked system design questions? I'm in a quantitative (but not CS) field in academia, so I'm pretty comfortable with basic programming and algorithms, but I certainly don't have any experience in designing large scalable services. I see system design stuff come up a lot in resources for tech interviews. Is this for more senior positions or should I also concentrate on this in addition to algo stuff?

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Hamming Cube posted:

Another question about interviews, should a person trying to transition into tech expect to be asked system design questions? I'm in a quantitative (but not CS) field in academia, so I'm pretty comfortable with basic programming and algorithms, but I certainly don't have any experience in designing large scalable services. I see system design stuff come up a lot in resources for tech interviews. Is this for more senior positions or should I also concentrate on this in addition to algo stuff?

I have never made it past an interview based on algo questions - once I started having to do gross poo poo to linked lists on the whiteboard, the interview was over. System design questions are highly correlated with successful job interviews for me, and frankly I think the topic material is easier.

Jose Valasquez
Apr 8, 2005

Hamming Cube posted:

Another question about interviews, should a person trying to transition into tech expect to be asked system design questions? I'm in a quantitative (but not CS) field in academia, so I'm pretty comfortable with basic programming and algorithms, but I certainly don't have any experience in designing large scalable services. I see system design stuff come up a lot in resources for tech interviews. Is this for more senior positions or should I also concentrate on this in addition to algo stuff?
It will probably depend on the company and what level you're interviewing at. If you're interviewing for an entry level developer job you're less likely to get system design questions. I think for entry level we do 4 algorithm interviews and 1 behavioral interview, then for mid/senior levels it is 3 algorithm, 1 system design, 1 behavioral.

This is the book I recommend to everyone preparing for a systems design interview: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/
It gives a good overview of the problems you need to account for when designing a large scale system and some of the options available and their tradeoffs

asur
Dec 28, 2012

Hamming Cube posted:

Another question about interviews, should a person trying to transition into tech expect to be asked system design questions? I'm in a quantitative (but not CS) field in academia, so I'm pretty comfortable with basic programming and algorithms, but I certainly don't have any experience in designing large scalable services. I see system design stuff come up a lot in resources for tech interviews. Is this for more senior positions or should I also concentrate on this in addition to algo stuff?

It's pretty unlikely to be asked system design questions for an entry level position and if you are asked the standard is going to be way lower. I would definitely skip it and concentrate on algorithms.

Smugworth
Apr 18, 2003


asur posted:

It's pretty unlikely to be asked system design questions for an entry level position and if you are asked the standard is going to be way lower. I would definitely skip it and concentrate on algorithms.

Our fortune 50 non tech company asks a pretty simple question , "how would you design an online shopping cart?" to entry level candidates pretty often. Sometimes a whiteboard algorithm question.

Out of school, I might be able to do a UML style design with some simple classes and functions, and I think that's what interviewers expect. Now with a few years in the industry, I guess I could whip up a rudimentary architecture with a data store and an app or two.

I'd still fail an algorithm whiteboard, fortunately I had a relatively softball interview :newlol:

Jose Valasquez posted:


This is the book I recommend to everyone preparing for a systems design interview: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/
It gives a good overview of the problems you need to account for when designing a large scale system and some of the options available and their tradeoffs

Some day I am going to stop being such a lazy rear end and crack open my copy of this.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Jose Valasquez posted:

This is the book I recommend to everyone preparing for a systems design interview: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/
It gives a good overview of the problems you need to account for when designing a large scale system and some of the options available and their tradeoffs

Anybody who works with data at scale or works with people who do should read this book. It's a really solid overview of best practices for designing systems to do that, and even if that's not your job, being literate will help.

SardonicTyrant
Feb 26, 2016

BTICH IM A NEWT
熱くなれ夢みた明日を
必ずいつかつかまえる
走り出せ振り向くことなく
&



Any tips for someone looking to get into development from automation testing? I was thinking of doing some personal projects with MEAN or another type of full-stack, but I feel like I'm going to have to start at entry-level again.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

SardonicTyrant posted:

Any tips for someone looking to get into development from automation testing? I was thinking of doing some personal projects with MEAN or another type of full-stack, but I feel like I'm going to have to start at entry-level again.

Be an automation tester. Get assigned to work on a failing project. After months of trying to automate something that doesn't work, start showing up to scrums being like "I write product now." Wait for project to finally fail and all the higher devs involve leave or get fired. Suddenly you are one of the most senior developers in the company - change your job title to Senior Software Engineer.

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

Smugworth posted:

Our fortune 50 non tech company asks a pretty simple question , "how would you design an online shopping cart?" to entry level candidates pretty often. Sometimes a whiteboard algorithm question.

Out of school, I might be able to do a UML style design with some simple classes and functions, and I think that's what interviewers expect. Now with a few years in the industry, I guess I could whip up a rudimentary architecture with a data store and an app or two.

My employer asks similar questions to hires at every level.

Most of what we're looking for with junior candidates isn't even "design a good system;" it's about placing it in context, and making reasonable assumptions that you call out in your solution. For the shopping cart example, I'd want to end up with a diagram, with a box in the middle labeled "shopping cart service," with arrows connected to a user/browser, product database, session/state database, and ordering backend, labeled with the information that's flowing to and from each system. The internals of each box really don't matter at this level of abstraction, although you should be able to say a few words about what each one does. Making assumptions to simplify the system is 100% OK, as long as you call them out. For instance, with a shopping cart, you'd probably want to say "I'm assuming we can integrate with an external session management service, and let that handle all the user authentication/state tracking headaches."

Junior hires get extensive handholding through this process; they're judged more on whether their solution looks like they've made an effort and thought about things rather than whether it'd actually work. I'd expect an intermediate-or-up candidate to deliver a working solution without help, and gracefully handle a few basic curveballs, probably based around yanking away simplifying assumptions. I haven't been involved in senior/architect hiring but from what I know about those interviews they'd start with half the system, have the candidate fill in the other half, and then hammer them with curveballs about performance, failure mitigation, broken assumptions, build-versus-buy decisions for each component, and the time and effort required to implement the whole thing.

Space Gopher fucked around with this message at 19:13 on Jun 6, 2020

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
Question for people who do lots of hiring: do you give the same questions to candidates at all levels, and expect different answers, or do you give different questions for Jr Dev than for Sr Dev? (Or something else?)

csammis
Aug 26, 2003

Mental Institution
Personally I ask the same questions and expect different, or more or less nuanced, responses. The role for which I give interviews has some very specialized requirements (physics and sensor applications). I give the same question to all candidates but I branch off and ask more in-depth aspects depending on their stated seniority and/or how well they do with the question at the start:


What does [this type of sensor] measure?

Okay, you have this sensor in an unchanging environment. What is its readout?

The environment starts to change. How does the readout change?

The sensor starts to change relative to its [already changing] environment. How does the readout change?


The coding question I ask goes the same way. It should be easy to bang out an answer but depending on how that goes I’ll ask follow ups that change the requirements or hit edge cases they didn’t consider up front, etc.

I’ve only had one candidate in months make it all the way through this line of question for the types of sensors we use, and as a bonus he nailed the coding question too. He starts at the end of June :unsmith:

SardonicTyrant
Feb 26, 2016

BTICH IM A NEWT
熱くなれ夢みた明日を
必ずいつかつかまえる
走り出せ振り向くことなく
&



Any good site that shows what tech jobs are available in your area? Or do I have to go through each tech company?

Eezee
Apr 3, 2011

My double chin turned out to be a huge cyst
Aren't the specifics of how your sensors work something you can learn on the job? Especially if they are 'very specialized' can you really expect applicants to know all about them?

csammis
Aug 26, 2003

Mental Institution

Eezee posted:

Aren't the specifics of how your sensors work something you can learn on the job? Especially if they are 'very specialized' can you really expect applicants to know all about them?

My point is that we don’t expect that of all levels of applicant. For new grads we don’t require that they’ve even heard of it (although if they hadn’t then what they’re doing applying for the position would be a mystery). If they profess little or zero knowledge in the interview that’s fine! We tell them a little about it and see how they can intuit properties from there. Sometimes it goes nowhere, sometimes they think about it and figure it out.

If you’re senior level and professing that you’ve used the sensors before but you can’t tell me what physical property it measures, well, that isn’t good.

Lockback
Sep 3, 2006

All days are nights to see till I see thee; and nights bright days when dreams do show me thee.
Usually the same set of questions, but for junior people I sorta expect them to top out before we get into the more complex stuff, and for senior people I skip rudimentary questions. Definitely expect better answers from more senior people.

I don't do Algo tests, but I do dissect coding projects. Expectations differ depending on the level. Honestly, the biggest difference is how I expect them to answer some sort of "How would you do this differently if you you had requirement xyz". Senior people I expect something coherent and interesting.

I also hire mostly juniorish roles though, so I think it'll depend a lot on the hiring team.

Shirec
Jul 29, 2009

How to cock it up, Fig. I

SardonicTyrant posted:

Any good site that shows what tech jobs are available in your area? Or do I have to go through each tech company?

BuiltIn - they have a site for major cities (like BuiltIn Chicago, BuiltIn Boston, etc)
AngelList - only lists jobs at start ups
The Muse - Similar to BuiltIn, a nice experience to use
Stack Overflow - what it says on the tin

If you google, you'll find more. Indeed also works fine. I also use Glassdoor as well just to scout out company reputations

barkbell
Apr 14, 2006

woof
linkedin works for my area

Hekk
Oct 12, 2012

'smeper fi

I graduate with a Bachelors of Science in Software Dev and Security next month. I retire from the Marine Corps in December. I have twenty years of experience in a field not related to software development but I have spent the last 15 years or so in what is essentially an office manager position. I live in the suburbs of San Diego and am strongly considering moving up to Seattle because we have close family friends there and there are lots of jobs in that area.

Because of all the management experience I have, I am considering seeking a technical project manager role. The thought being, my most marketable attributes are probably the soft skill development and transferrable skills from my time in the military. However, I've been told from others that TPMs aren't really usually brought in from outside the software dev field since it has technical in it's name. Most are usual senior devs who get burnt out churning code all the time and start to pick up some other duties and spend less time actually programming.

I've also considered trying my hand applying for a junior dev position in the Seattle area. However, there are a couple things that make me pause. 1.) I work full time and go to school full time so the past few years have been nothing but work and school. Because of this, I have no side projects or anything sexy to show that I can actually put together a working program. 2.) I need to make at least 100k or so to not take a paycut when I change careers but reading about coding interviews at high paying companies makes me worry I might not have the skillset necessary to compete against smarter people.

I am in a position where I can start a new job anytime after the new year but I will continue getting paid from my old job until May 1st. So there is really a four month window where I can afford to hold out for a fair compensation package but the earlier I start working the lower stress levels will be.

My questions for the group are:

What should I be doing next? I mean between graduate in July and ready to work in January? I still need to work full time but the hours I have spent dedicating to school in the evening could be spent on side projects or doing leetcode challenges or learning new skillsets but I don't really know which is more important for someone in my position. I feel like I have the basics down for collaboration since I am using Git on my capstone project right now and I understand how to branch, commit, push, and merge. I also have some level of familiarity with Unit Testing using JUnit. I have designed and tested extremely simple applications for school work and grok the basics of how everything works.

Am I wrong to think that I should be trying to take away SOMETHING from the last twenty years worth of work? I don't necessarily have a passion for doing management stuff but I do have a passion for getting paid more money. Part of me wants to say gently caress it and go all in on being a developer but the unknown is scary and while I feel like I am extremely teachable, not having any real frame of reference makes it difficult for me to judge whether or not I am actually any good at programming.

Is it realistic to think I could slide my way into a management role and if I did that am I limiting upward mobility?

Eezee
Apr 3, 2011

My double chin turned out to be a huge cyst

Jose Valasquez posted:


This is the book I recommend to everyone preparing for a systems design interview: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/
It gives a good overview of the problems you need to account for when designing a large scale system and some of the options available and their tradeoffs

Speaking of books: What are some other good books for newish devs? I looked at some C++ specific ones, but most stuff seems hilariously outdated (as in written in the 90s or early 2000s).

barkbell
Apr 14, 2006

woof
Much like c++

sunaurus
Feb 13, 2012

Oh great, another bookah.

Hekk posted:

What should I be doing next? I mean between graduate in July and ready to work in January? I still need to work full time but the hours I have spent dedicating to school in the evening could be spent on side projects or doing leetcode challenges or learning new skillsets but I don't really know which is more important for someone in my position. I feel like I have the basics down for collaboration since I am using Git on my capstone project right now and I understand how to branch, commit, push, and merge. I also have some level of familiarity with Unit Testing using JUnit. I have designed and tested extremely simple applications for school work and grok the basics of how everything works.

Leetcode is important for some companies (especially FAANG companies), but not important at all for others. It depends on your goals. If you're happy to just get started in the industry, then I think you can get much more value out of reading a few basic books to fill in any gaps you might have in fundamentals, and then just work on random hobby projects to get some more practical experience.

As far as books, I recommend:

* The Pragmatic Programmer - It's just a great book that I think all software engineers should start with. It covers a lot of things - just look at the table of contents on the linked page - but is extremely easy to read and follow.
* Clean Code - This book is one man's opinions on what is clean code. I would take some of the information here with a grain of salt, but I still think it's an important book, because a lot of the information in here is treated as common knowledge at this point and sometimes even asked about in interviews.
* Peopleware - Great book for everybody in software, but ESPECIALLY for managers. Basically talks about how to build an efficient software team.

Hekk posted:

Am I wrong to think that I should be trying to take away SOMETHING from the last twenty years worth of work? I don't necessarily have a passion for doing management stuff but I do have a passion for getting paid more money. Part of me wants to say gently caress it and go all in on being a developer but the unknown is scary and while I feel like I am extremely teachable, not having any real frame of reference makes it difficult for me to judge whether or not I am actually any good at programming.

I can tell you that having the right attitude and actual interest in software engineering is far more important than anything else. If you're motivated and capable of learning as you go, then you have nothing to worry about (as long as you can get your foot in the door somewhere).

Hekk posted:

Is it realistic to think I could slide my way into a management role and if I did that am I limiting upward mobility?

I think you can definitely leverage your experience to get into management roles, just make sure you have the correct expectations about it. In many companies I've worked at, managers mostly just report on progress to higher ups and deal with people's personal issues. If you're interested in having technical authority and making technical decisions and so on, then at most software companies, you're probably better off as an engineer. If you want to make product decisions, then that kind of stuff is usually handled by product owners or business analysts or the something like that, but these roles generally don't manage people.

Anyway, when you start applying for jobs, remember that it's a numbers game - just apply to as many places as possible to get your foot in the door, because after working at your first software job for a year or so, getting another job should be super easy and you'll be able to be much more picky about where you end up.

Eezee posted:

Speaking of books: What are some other good books for newish devs? I looked at some C++ specific ones, but most stuff seems hilariously outdated (as in written in the 90s or early 2000s).

See my book recommendations above!

elite_garbage_man
Apr 3, 2010
I THINK THAT "PRIMA DONNA" IS "PRE-MADONNA". I MAY BE ILLITERATE.
For C++ specifically:
A Tour of C++ 2nd Ed - Quick reference for C++.
Effective Modern C++ - Good foundation for popular modern C++ features.
The C++ Programming Language 4th Ed - In depth reference to C++ that goes into underlying implementation details with short examples.
C++ Concurrency in Action 2nd Ed - Using modern C++ concurrency features.
API Design for C++ - Covers stuff from C++ to development in general.
Modern C++ Design - Intro to templates and how to apply them to OOP, so have an understanding of some design patterns first. Probably overkill, so I saved it for last.

For OOP in general:
Head First Design Patterns - This is in Java, but is easily done in C++. Personally, I found this to be a better read than Design Patterns: Elements of Reusable Object-Oriented Software. You could go with the latter if you prefer a more formal approach that covers every pattern in depth though.

AgentCow007
May 20, 2004
TITLE TEXT
Can anyone recommend good brush-up material for analysis of algorithms? I just finished a CS program but my algorithms course was completely worthless and I don't want to embarrass myself in interviews.

Eezee
Apr 3, 2011

My double chin turned out to be a huge cyst
Thank you both for the book recommendations, will look at some of them.

Now I just gotta find some more jobs to apply to. Just got a rejection for a junior position today after what I thought was a very good interview, because according to them they can't justify spending the money to train someone who hasn't extensively worked with C++ and Qt before, due to Corona.
I've applied to them back in the beginning of march before everything got really bad in Germany and their representative told me that they would love to interview me and that my lack of experience with the language didn't matter. Then my interview got pushed back until end of may, due to the whole lockdown situation.
Either they got hit much harder by Corona than their CEO claimed during the interview or I completely misjudged how the interview went.

elite_garbage_man
Apr 3, 2010
I THINK THAT "PRIMA DONNA" IS "PRE-MADONNA". I MAY BE ILLITERATE.
interview prep effort post incoming

1. leetcode and hackerrank: I prefer leetcode since it covers more edge cases. The one draw back to leetcode/hackerrank is that not all problems have (good) solution explanations, and forum answers don't always offer documented code. Leetcode also has some concurrency problems which is nice. Premium accounts aren't going to make or break you so you can save a few bucks with these sites and not worry. You can find lists of top 75-150 qs to solve if you don't know where to begin.

2. Cracking the Coding Interview book: Helps fill in the gaps to the much needed algo explanations from the above two websites. Covers big O in most of the problems and has some good explanations.

3. educative.io: This isn't a cheap option but they have tracks for java and c++ interviews. It provides some easy to read material to help understand the problems, and then a ton of practice problems to hammer home the ideas. The main drawback is practice questions only have 2-6 test cases, so be sure to check in with leetcode every once in a while to make sure you're aware of any pitfalls for the type of problem you're facing. For the price you get additional stuff that focuses on harder problems like dynamic programming, recurrsion, concurrency, and system design so its great for more experienced devs too. Has a good foundational section on calculating big O and offers a brief analysis for most problems.

4. Youtube: There are quite a few channels that go over leetcode and hackerrank problems. I'd shoot for the longer run length videos as they tend to give better explanations instead of just powering through the code. The only thing to be aware of is that you may not find them in the language you use, but the concepts are generally the same for imperative languages.

5. Copious notes: As you study the concepts, it may help to write things down. Especially after you solve a online questions. You'll start seeing patterns and that's what will give you the edge to solve most problems even if you haven't seen them before. IE: if I'm given a sorted array as input, this might involve binary search, or this problem involves finding a certain permutation so it might involve BFS or DFS. I'd suggest redoing the problem strictly in a notebook without using your computer to help commit some of these algos and patterns to memory.

Generally you won't be asked to implement supporting data structures, but you will be expected to know their complexity. IE, you'll be able to use std::unordered_set() to track visited nodes when doing BFS, and not have to worry about implementing a hash table from scratch, but be prepared to know the time and space complexity it brings.

You can easily do this all for free using youtube and a free account on leetcode or hacker rank, but if you have the cash to spare then I'd recommend CTCI and the educatiove io track aswell. Algos are hard, so don't beat yourself up if it takes you a while to understand a certain problem.

elite_garbage_man fucked around with this message at 00:24 on Jun 9, 2020

TheIncredulousHulk
Sep 3, 2012

elite_garbage_man posted:

5. Copious notes: As you study the concepts, it may help to write things down. Especially after you solve a online questions. You'll start seeing patterns and that's what will give you the edge to solve most problems even if you haven't seen them before. IE: if I'm given a sorted array as input, this might involve binary search, or this problem involves finding a certain permutation so it might involve BFS or DFS. I'd suggest redoing the problem strictly in a notebook without using your computer to help commit some of these algos and patterns to memory.

This is what's bogging me down rn I think. I've worked through/watched the video explanations of close to a hundred problems now on algoexpert.io and while I conceptually understand (most of) it, I'm definitely still struggling to identify when the right time is to apply those various learnings when it comes to doing problems in the wild

downout
Jul 6, 2009

Eezee posted:

Thank you both for the book recommendations, will look at some of them.

Now I just gotta find some more jobs to apply to. Just got a rejection for a junior position today after what I thought was a very good interview, because according to them they can't justify spending the money to train someone who hasn't extensively worked with C++ and Qt before, due to Corona.
I've applied to them back in the beginning of march before everything got really bad in Germany and their representative told me that they would love to interview me and that my lack of experience with the language didn't matter. Then my interview got pushed back until end of may, due to the whole lockdown situation.
Either they got hit much harder by Corona than their CEO claimed during the interview or I completely misjudged how the interview went.

I think someone mentioned upthread (or somewhere else) that what is happening is there is a glut of candidates so what was reasonable a bar for junior has been raised across the industry. Why hire a true junior dev, when a company can have a mid level for near the same price?

I'll be honest, imo this is going to be a horrible time to look for a job with competitive pay. With that said, I think you previously mentioned you were west coast, and dev salaries are quite high there. They probably dip some, but you've got to start somewhere to build experience. If I were in your position, I would try to evaluate a couple of things:
1. The starting salaries for starting junior dev vs junior tech manager pay in your region for a starting comparison (assuming the differences move in unison as they change).
2. Would your prior experience provide a boost to your career as a tech manager?
3. Do you have a an actual preference between dev or technical manager?

Eezee
Apr 3, 2011

My double chin turned out to be a huge cyst
I'm from Germany. Unfortunately the salaries here are not even close to what I would earn in the US.
I don't think junior tech managers are a big thing here unless I start at one of the big multinationals like Bosch or Siemens. Unfortunately those are a bureaucratic nightmare to work at, so I'd prefer not to. The city I currently live in has a decent sized tech scene and I think I'll just have to cast my meet a bit wider and apply to positions that aren't in areas that I find particularly interesting. And if that doesn't work I probably won't be able to avoid moving to a much larger city like Berlin or Munich (or just do a PhD, which pays just as much as entry level positions here).

Adbot
ADBOT LOVES YOU

Pope Hilarius
May 3, 2007

I'm a iOS contractor in my first year of professional work earning $48/hr in a high CoL city. My company offered to buy out of my middleman and hire me full time.

What should I ask for salary? My wages extrapolate to like 96k pre -tax but I've read that 48k W2 salary is comparable to 48/hr, is that right? Should I just split the difference and ask for like $75k?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply