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
Hadlock
Nov 9, 2004

Sign posted:

Good bit of runway year+

Year+ does not seem like a whole lot but I guess that's what the IPO ought to solve

Hadlock fucked around with this message at 15:57 on Feb 3, 2024

Adbot
ADBOT LOVES YOU

mila kunis
Jun 10, 2011
Anyone have a good resource for system design interview prep?

Xarn
Jun 26, 2015
Designing Data-Intensive Application style of system?

wilderthanmild
Jun 21, 2010

Posting shit




Grimey Drawer

mila kunis posted:

Anyone have a good resource for system design interview prep?

Regardless of what other resources you get suggested, I highly suggest an exercise of designing high level designs for slimmed down versions of popular software while talking out loud and either white boarding or putting things into a tool like lucid chart. I almost always get asked to design an MVP of a Twitter or Reddit clone in these.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers is a popular choice

mila kunis
Jun 10, 2011
Thanks everyone!

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug

mila kunis posted:

Anyone have a good resource for system design interview prep?

I watched a few youtube videos which were generally helpful, mostly in understanding there's a bunch of different ways it can go. The thing that was most helpful was having a friend of mine run me through like a 2.5 hour mock system design interview, but I recognize not everyone has that capability. However if you have anyone who's actually given them before and is willing to give you a mock interview that honestly is pretty useful.

moctopus
Nov 28, 2005

mila kunis posted:

Anyone have a good resource for system design interview prep?

I enjoyed this book because it was one of the few experiences that wasn't draw the rest of the owl. https://www.amazon.com/dp/B08CMF2CQF?psc=1&ref=ppx_yo2ov_dt_b_product_details
A wildly good resource that includes Anki decks, https://github.com/donnemartin/system-design-primer
I disliked this, https://www.designgurus.io/course-play/grokking-the-system-design-interview. This one, to me, felt like it was geared towards someone that already has all the answers, but wants to see a formal way to regurgitate that information.
This book was mentioned, https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321. It's a great read, and I think I'd love to have it as a reference when designing something, but it usually led me to more questions (not a bad thing!). For the purposes of an interview... It never left with this feeling, "in this situation do this". More like, "in this solution here are many options. Carefully research them outside this book". Again that's not a bad thing. I did make a ton of of Anki cards from that book, but idk.

I'm maybe not an authority though. I'm studying this stuff for the first time.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


DDIA is the book you read to understand the material that gets covered in a systems design interview but if you want to practice the interview you will definitely need something else.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
DDIA and friends are important, but the key to acing the systems design interview is time management. Know what parts are too boring and low-risk to even bother outlining beyond a scrap of a mention that it needs to exist. Half the time the interview is set up so there's one big flashing red risk and this is where you're supposed to spend most of your time

Hadlock
Nov 9, 2004

I flip through this usually the day before an interview. It has been my go to for several years now

https://github.com/donnemartin/system-design-primer

Has a bunch of great links off site

Hadlock fucked around with this message at 20:46 on Feb 5, 2024

Ihmemies
Oct 6, 2012

I applied for a job, with a 21-row .txt file containing my contact info, github, resume and application. They actually contacted me and arranged a 45-minute phone interview with HR. I never would have even dreamed of something like that happening with such an application.

Next they want me to do some coding task, with a 80-minute time limit. If I pass with a good grade, I may get to a live HR + technical interview.

If I pass that, they'll arrange some kind of personality test or something.
Drug tests.
Local NSA-equivalent does a basic security clearance...

All this for a 3 month summer job. drat.

Do you have any pro tips on how to prepare for such coding tests? I have done Advent of Code and some algorithm course puzzles, maybe I should do some leetcode to warm up?

If problems contains parsing, maybe use python or rust?
If problems are algorithmic, perhaps C++ because of reasonably short syntax, good speed and lots of features in STL?

They use the https://futureskill.com platform for tests.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Ihmemies posted:

I applied for a job, with a 21-row .txt file containing my contact info, github, resume and application. They actually contacted me and arranged a 45-minute phone interview with HR. I never would have even dreamed of something like that happening with such an application.

Next they want me to do some coding task, with a 80-minute time limit. If I pass with a good grade, I may get to a live HR + technical interview.

If I pass that, they'll arrange some kind of personality test or something.
Drug tests.
Local NSA-equivalent does a basic security clearance...

All this for a 3 month summer job. drat.

Do you have any pro tips on how to prepare for such coding tests? I have done Advent of Code and some algorithm course puzzles, maybe I should do some leetcode to warm up?

If problems contains parsing, maybe use python or rust?
If problems are algorithmic, perhaps C++ because of reasonably short syntax, good speed and lots of features in STL?

They use the https://futureskill.com platform for tests.

leetcode is the platform for practice

Ihmemies
Oct 6, 2012

I noticed the site had actually some tests you can practice with freely. I did a few "medium" level ones and they were not too bad.

Then I clicked the link on email, and the landing page said the test will be of "easy" level, heh. Well I spent 15 minutes writing "a" solution, and because I was curious, nearly 3 hours trying to figure out how to write a generic solution.

With the tools available (no AI, no friends, no github, no google etc.) it proved to be quite difficult to figure out only with Rust docs. Well basically I could not implement a function which works with type T instead of a specific type like String, char, i32 etc. I haven't had the need to do it before, so I did not really know how, could not learn fast enough based on rust docs only, and inside a web browser window could not get it work without better tools.

Well, off towards new disappointments. I highly doubt they will want to see my rear end on a technical interview after this.

Mantle
May 15, 2004

Ihmemies posted:

I applied for a job, with a 21-row .txt file containing my contact info, github, resume and application. They actually contacted me and arranged a 45-minute phone interview with HR. I never would have even dreamed of something like that happening with such an application.

Next they want me to do some coding task, with a 80-minute time limit. If I pass with a good grade, I may get to a live HR + technical interview.

If I pass that, they'll arrange some kind of personality test or something.
Drug tests.
Local NSA-equivalent does a basic security clearance...

All this for a 3 month summer job. drat.

Do you have any pro tips on how to prepare for such coding tests? I have done Advent of Code and some algorithm course puzzles, maybe I should do some leetcode to warm up?

If problems contains parsing, maybe use python or rust?
If problems are algorithmic, perhaps C++ because of reasonably short syntax, good speed and lots of features in STL?

They use the https://futureskill.com platform for tests.

I think it makes sense to pick ONE language as your puzzle language. I like Python because it's reasonably fast to write and it has a good standard library.

For focusing on what to practice, I like this site that recommends which puzzles to look at based on how much time you have to study.

https://www.techinterviewhandbook.org/grind75

Ihmemies
Oct 6, 2012

Mantle posted:

I think it makes sense to pick ONE language as your puzzle language. I like Python because it's reasonably fast to write and it has a good standard library.

For focusing on what to practice, I like this site that recommends which puzzles to look at based on how much time you have to study.

https://www.techinterviewhandbook.org/grind75

Thanks, maybe I should stick to python in future :v: Don't need to care about types or "proper" syntax with that...

That seems like an useful site, thanks for the tip!

Guinness
Sep 15, 2004

I don’t even like python much but I’d still probably use it for interview loops because it’s the right balance of quick to write, easy* to read, loose on safety, and unpretentious.

* as long as you know some python idioms

And then I’d hope to hardly touch it again in the real job, just like leetcode brain teasers.

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug

Guinness posted:

I don’t even like python much but I’d still probably use it for interview loops because it’s the right balance of quick to write, easy* to read, loose on safety, and unpretentious.

* as long as you know some python idioms

And then I’d hope to hardly touch it again in the real job, just like leetcode brain teasers.

I'm biased because this is how I learned but IMO (some) code katas are valuable because software dev is mostly about putting together building blocks, and there's plenty of times I've had to pull out some weird thing to accomplish a pretty normal goal.

For example we have a system that inherits an attribute from parent to child, and the naming convention follows the same basic rules as file paths (separated by slash, etc) - for a given list of objects I wanted to find only the parents and touch them rather than modifying the children.

This is basically a textbook leetcode problem, so it was something I immediately grokked. I had a junior who really struggled wrapping their head around this.

Sure some of them are a little silly - inverting binary trees/etc - but in general I do think there's value in practicing low level stuff like this and if nothing else it's a nice platform for "solve a problem, confirm it's really solved via automated testing".

thotsky
Jun 7, 2005

hot to trot

Ihmemies posted:

I noticed the site had actually some tests you can practice with freely. I did a few "medium" level ones and they were not too bad.

Then I clicked the link on email, and the landing page said the test will be of "easy" level, heh. Well I spent 15 minutes writing "a" solution, and because I was curious, nearly 3 hours trying to figure out how to write a generic solution.

With the tools available (no AI, no friends, no github, no google etc.) it proved to be quite difficult to figure out only with Rust docs. Well basically I could not implement a function which works with type T instead of a specific type like String, char, i32 etc. I haven't had the need to do it before, so I did not really know how, could not learn fast enough based on rust docs only, and inside a web browser window could not get it work without better tools.

Well, off towards new disappointments. I highly doubt they will want to see my rear end on a technical interview after this.

If they're not doing it with oversight they just want any solution that passes the tests. Don't get too clever, there will be opportunities to demonstrate that later on.

Ihmemies
Oct 6, 2012

Would have been more helpful to know the goal, ie “make it compile and pass tests in whatever way”. I would have stopped tinkering with it instantly after that.

What is overwatch? Some other real person actually monitors what you are doing?

rally
Nov 19, 2002

yospos
In our code challenge we expect the person to timebox themselves strictly and would rather see a solution that half works than a solution someone spent 5 hours polishing. It probably varies.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

rally posted:

In our code challenge we expect the person to timebox themselves strictly and would rather see a solution that half works than a solution someone spent 5 hours polishing. It probably varies.

they don't, tho

i can just about guarantee people underreport time spent and fail to box within prescribed bounds. unless the exercise itself is timed.

StumblyWumbly
Sep 12, 2007

Batmanticore!
I just laughed while reading a tech document because this company justifies using an embedded JVM because Java is 'very close to Javascript', which is used in an adjacent field.

Saying that is the sign of a crazy person, right? Did something happen in the decades since I've used these languages?

Ralith
Jan 12, 2011

I see a ship in the harbor
I can and shall obey
But if it wasn't for your misfortune
I'd be a heavenly person today

StumblyWumbly posted:

Saying that is the sign of a crazy person, right?

Probably not "crazy" so much as "clueless and not trying very hard to cover for it," but yeah.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Yeah, that's more likely to be someone who has no clue what any of the things they're writing about are than someone who does but is insane.

Ihmemies
Oct 6, 2012

The exercise I did was timed, 80 minutes was given. I provided a working solution in 15, and spent rest of the time failing to make it any better.

wilderthanmild
Jun 21, 2010

Posting shit




Grimey Drawer
All you can do now is hope that is enough. If not, gently caress em and bring on the next.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Mantle posted:

I think it makes sense to pick ONE language as your puzzle language. I like Python because it's reasonably fast to write and it has a good standard library.

For focusing on what to practice, I like this site that recommends which puzzles to look at based on how much time you have to study.

https://www.techinterviewhandbook.org/grind75
This will get you pretty far. I once had a coding interview with a fintech company where the algorithm ended up being so performance-intensive that I had to jump out of Python to C#, which I hadn't used in about 10 years, for its better linked list interface. So it's good to not let yourself be totally pigeonholed into one language, but I think surface-depth knowledge of cases where you want to use something else will also get you far if you're able to remember idioms and read API docs halfway well.

Ihmemies
Oct 6, 2012

I applied to embedded sw trainee position, and immediately got a coding test. Only language was C++17, time 60 minutes. This time I did not do anything fancy. I implemented the slowest possible solution, which at least worked, and I finished it in the allotted time. I kind of assumed I could use some other language but I was too tired and didn't look properly before beginning. My C++ was a bit rusty so much of the time was spent browsing cppreference.com

Welp, in the final screen after submit it said my solution was better than 93% of the results, heh, ok.

It really was terrible, iterating through the same vector multiple times. With a smarter algorithm I could have done it with 1 pass. I could probably have done it given enough time, but not in the timeslot.

Immediately after finishing I got this email from some probably very fictional person:

quote:

Hello Ihmemies,

Thank you for your application regarding the position of Summer Trainee 2024 - Embedded Software at Company. Just wanted to give you a heads up, and say that your application looks good, and I consider you a good candidate.

Currently we are preparing the list of the strongest candidates we would like to proceed with to the interview stage. Those candidates will be contacted soon.

At least this is miles better than an rejection after a few weeks, or no reply at all.

---

I still have the feeling that the Finnish school system has been going downhill for decades, making everything easier, lowering the requirements, skimping on everything possible. Since that permeates the whole system beginning from elementary school, they can't demand enough from students at university level either.

It feels like the school actually does not teach enough, and I have to try to figure out stuff by myself way too much. Well, such is life I guess these days.

Ihmemies fucked around with this message at 21:11 on Feb 8, 2024

Hadlock
Nov 9, 2004

Keep us posted on when they tell you that you're hired, and you need to buy your own laptop from their preferred vendor, and they'll reimburse you after purchase

Ihmemies posted:

It feels like the school actually does not teach enough, and I have to try to figure out stuff by myself way too much. Well, such is life I guess these days.

There's always been very little overlap between a CS degree and the reality of working in tech

Ihmemies
Oct 6, 2012

Hadlock posted:

Keep us posted on when they tell you that you're hired, and you need to buy your own laptop from their preferred vendor, and they'll reimburse you after purchase


My friend has been working at the company for nearly three years, so it really exists and this definitely should not be a scam… :v:

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

Seems useful, I wonder if I can expense this from the L&D budget for my current job.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Hadlock posted:

Keep us posted on when they tell you that you're hired, and you need to buy your own laptop from their preferred vendor, and they'll reimburse you after purchase

There's always been very little overlap between a CS degree and the reality of working in tech

the CS theory is useful, but it's definitely not the same thing as knowing how to program effectively

LLSix
Jan 20, 2010

The real power behind countless overlords

leper khan posted:

the CS theory is useful, but it's definitely not the same thing as knowing how to program effectively

Most days I would agree with you.

On the other hand, today, I made a program run 15 times faster by cutting out one SQL select statement. Nobody else who'd looked at the code in 20 years realized how much time was being wasted because they didn't have the theoretical background to understand how inefficient it was to run a query over the network. Inside a loop.

Practical experience matters, but every so often you'll run into a situation where the answer is obvious if you put in the time to build the right theoretical background; but wouldn't even know what questions to ask without it.

LLSix fucked around with this message at 02:36 on Feb 9, 2024

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
being a physicist doesn't make you a make-real-things engineer, but they really shouldn't let you out of make-real-things engineering school with you not knowing F=ma, and they mostly dont

redleader
Aug 18, 2005

Engage according to operational parameters

LLSix posted:

Most days I would agree with you.

On the other hand, today, I made a program run 15 times faster by cutting out one SQL select statement. Nobody else who'd looked at the code in 20 years realized how much time was being wasted because they didn't have the theoretical background to understand how inefficient it was to run a query over the network. Inside a loop.

Practical experience matters, but every so often you'll run into a situation where the answer is obvious if you put in the time to build the right theoretical background; but wouldn't even know what questions to ask without it.

you don't need any theoretical background to know that running a sql query in a loop is a tremendous, blazing red flag

Achmed Jones
Oct 16, 2004



yeah i was gonna say, i'm usually first in line to say "jesus christ, learn some actual computer science, it's good for you" but there's no world where you need any kind of cs background to know "network calls in a loop" is a bad idea. you need to know what "loop" means, and that network calls are more expensive than using the local computer. you don't even have to think about cache levels or cache vs ram or any of that.

prom candy
Dec 16, 2005

Only I may dance
I spent some time in a midsize company that employs about 50 devs and doesn't do anything too fancy and what I learned is that if you're in this thread or otherwise give a poo poo about tech and programming in your spare time you're probably at least a top 10% dev.

Hadlock
Nov 9, 2004

Achmed Jones posted:

but there's no world where you need any kind of cs background to know "network calls in a loop" is a bad idea. you need to know what "loop" means, and that network calls are more expensive than using the local computer. you don't even have to think about cache levels or cache vs ram or any of that.

I have some impolite things to say about many front end devs I've met in my day, including several who technically held a "manager" title

Adbot
ADBOT LOVES YOU

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

prom candy posted:

I spent some time in a midsize company that employs about 50 devs and doesn't do anything too fancy and what I learned is that if you're in this thread or otherwise give a poo poo about tech and programming in your spare time you're probably at least a top 10% dev.

Aw drat, that's why everybody says I'm such a giant rear end.

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