Live data from Hacker News

Algorithms you should know before you take system design interviews

blog.bytebytego.com

41–50 of 82 posts

Re: Algorithms you should know before you take system design interviews

#41
post #20

Earlier quoted context omitted.

My solution is to produce a design in my head, and figure out its limitations. Then I ask for each limitation if this limitation will be a problem. If it is, then I figure out how to iterate the design to eliminate that limitation. Once I don't know of any unverified limits, then I start explaining my design, and explain how I know it will perform to spec. This is also a good way to approach system design in the real…

Only if the interviewer cooperates with candidate. In my past cases, some interviewers are just nuh-uh or "let's continue" or just keep saying the original ambiguous requirement without stating additional requirements or giving any feedback.

Some interviewers like to move the goalposts. If I encounter those, I'll go ahead and give the simplest solution and state a general idea of what its limits are. Then when the goalposts are moved on me, I can iterate on the design for the new rules.

If an interviewer cannot tell my design skills from that, then I figure that the company failed, not me.

Re: Algorithms you should know before you take system design interviews

#43

Having done several system design interviews, most of the time they're badly executed. When I asked for some detailed requirements they cannot disclosure them. However in the end they have those hidden requirements and I've failed because my system doesn't meet those requirements. It's a bad way to conduct a system design interview by having a design in mind and hoping the candidates will reach that with limited know…

Lately Ive been going the other way as an interviewer. I try to get the candidate to deeply explain their system design; starting point, requirements, conflicting priorities, compromises, etc. Alternatively we can pivot slightly to solving the same class of problem with my system.

I can almost always find a relevant overlap between my background and theirs, which helps. And (I think) its beneficial for them to talk about their experience and existing decision making as opposed to hypotheticals. As a bonus you can also gauge the ability to communicate complex or nuanced ideas in a succinct manner.

Re: Algorithms you should know before you take system design interviews

#44

Having done several system design interviews, most of the time they're badly executed. When I asked for some detailed requirements they cannot disclosure them. However in the end they have those hidden requirements and I've failed because my system doesn't meet those requirements. It's a bad way to conduct a system design interview by having a design in mind and hoping the candidates will reach that with limited know…

This has been my experience as well. These interviews should be open-ended with no right answer as long as you can reasonably support your design and discuss its tradeoffs. Unfortunately, many interviewers have a set solution / structure / technology already in mind.

Re: Algorithms you should know before you take system design interviews

#45

Having done several system design interviews, most of the time they're badly executed. When I asked for some detailed requirements they cannot disclosure them. However in the end they have those hidden requirements and I've failed because my system doesn't meet those requirements. It's a bad way to conduct a system design interview by having a design in mind and hoping the candidates will reach that with limited know…

I interviewed for a company once where I got a real dataset from their business and just a vague assignment to analyze the data and find something that could be optimized better. So I came up with a suggestion on how to improve factor A, but they told me later that what they were looking for was for the candidates to come up with suggestions on how to improve factor B. Why factor B was deemed more important than fact…

They were just screening out unlucky people.

Re: Algorithms you should know before you take system design interviews

#46

Earlier quoted context omitted.

I interviewed for a company once where I got a real dataset from their business and just a vague assignment to analyze the data and find something that could be optimized better. So I came up with a suggestion on how to improve factor A, but they told me later that what they were looking for was for the candidates to come up with suggestions on how to improve factor B. Why factor B was deemed more important than fact…

They were just screening out unlucky people.

That can be done by shuffling the resumes and dumping half of them in the garbage. Saves everyone time as well.

Re: Algorithms you should know before you take system design interviews

#47

Having done several system design interviews, most of the time they're badly executed. When I asked for some detailed requirements they cannot disclosure them. However in the end they have those hidden requirements and I've failed because my system doesn't meet those requirements. It's a bad way to conduct a system design interview by having a design in mind and hoping the candidates will reach that with limited know…

This has been my experience as well. These interviews should be open-ended with no right answer as long as you can reasonably support your design and discuss its tradeoffs. Unfortunately, many interviewers have a set solution / structure / technology already in mind.

It takes a skilled interviewer to deal with and evaluate that level of nuance on the fly. It's much easier to scale an interview process with checklists.

Re: Algorithms you should know before you take system design interviews

#48
post #31

First time I saw geohashing. Can't this result in some lopsided squares? The way it is described has a standard rectangle projection. But those are inaccurate due to the earth being spherical. So the areas on top and bottom will be much larger. To be fair I've heard of most of these in my career but they are fairly specialized. If you are conducting a system design interview and expecting the candidate to know one of…

The shape is considered by H3 https://www.uber.com/en-NZ/blog/h3/

Re: Algorithms you should know before you take system design interviews

#49
post #31

First time I saw geohashing. Can't this result in some lopsided squares? The way it is described has a standard rectangle projection. But those are inaccurate due to the earth being spherical. So the areas on top and bottom will be much larger. To be fair I've heard of most of these in my career but they are fairly specialized. If you are conducting a system design interview and expecting the candidate to know one of…

I think in practice you might use something like https://h3geo.org/docs/

Re: Algorithms you should know before you take system design interviews

#50
post #33

I see "systems design" tossed around a lot these days, and the phrase is taking on multiple meanings. What's the context here for this use?

It's for interviews that test your ability to design multi- computer program systems.
Post reply on HN