Live data from Hacker News

A senior engineer's guide to the system design interview

interviewing.io

221–230 of 399 posts

Re: A senior engineer's guide to the system design interview

#221

Earlier quoted context omitted.

But, if you’re a web developer you should be able to diagram what happens when a browser makes a request

Ok yes because that’s colleges level material. The subject here is Staff Engineer (L6) interviewing. So that will require nearly all the demonstration of value to be of high level professional context.

But there’s lots of systems like this that you could diagram with arbitrary levels of detail without talking about NDAed systems

Re: A senior engineer's guide to the system design interview

#222
post #95

Earlier quoted context omitted.

I don't know why you assume I was rude about it. I phrased it all equivalently to how you said. A lot of my background was in tech services so I'm very well practiced in asking these kind of questions. They pretty much waved off all of them saying it wasn't relevant.

> They pretty much waved off all of them saying it wasn't relevant. Well, if they are asking how to build a highly scaleable system, then statements about how to build a not highly scaleable system would not be relevant.

Context is still relevant though. "Highly Scalable" means something different if you're working on core AWS infra vs an app to be used by 100k people at the same time for instance.

I'd expect the interviewer to engage and set some helpful boundaries (and the interviewee if they have the experience to talk about what changes between the two situations)

Re: A senior engineer's guide to the system design interview

#223
post #129

Earlier quoted context omitted.

Hey, founder of interviewing.io here. We actually did zero thinking about SEO. We had someone look at this guide at the end through an SEO lens, but then we decided that that would make the content not as good and would make the guide less readable. (As an aside, I think in recent years, the spirit of SEO has become more about just making good stuff and less about hacking...) Anyway, it wasn't for SEO. It's hard to e…

> It's hard to edit stuff well because we're so passionate about what we wrote here, and we probably should do another pass. No way, I’m dying here. “… and my main weakness is probably that I care too much…”

[dead]

Re: A senior engineer's guide to the system design interview

#224
post #194

Earlier quoted context omitted.

If the entirety of your web development knowledge is NDA'ed, then what good are you as a potential employee anyway? You wouldn't be able to build anything, as all your knowledge is NDAed!

What you learned isn’t the same as what was built.

But you learned how to build things so….

Re: A senior engineer's guide to the system design interview

#225
post #97

Earlier quoted context omitted.

I'm not a lawyer, but wouldn't anything you or anyone else developed on company time at another company be owned by that company and thus proprietary? In practice I can't imagine the spirit of any law would be violated by doing an architecture diagram, but it seems likely (to me, at least) the word of the law would be violated.

How could you ever interview anywhere if you couldn't provide details of the projects that you worked on?

I have a relative who works on very secretive stuff for big companies as a chemist.

His interviews are humorous. Those leading the interviews can't tell him what he'll be working on, and he can't tell them what he's done in the past.

The questions tend to be very theoretical, instead.

Re: A senior engineer's guide to the system design interview

#226

Earlier quoted context omitted.

> 98% of what you'd be inclined to diagram out and explain for a system design interview isn't remotely proprietary Maybe we're just on different wavelengths, but literally every single thing I work on that would be a good candidate for this sort of interview is extremely proprietary...and I'm just working on regular ol' backend services at [generic big tech].

If the entirety of your web development knowledge is NDA'ed, then what good are you as a potential employee anyway? You wouldn't be able to build anything, as all your knowledge is NDAed!

The flaw in this argument is assuming that you could do a good job of diagramming a system without describing the use cases of the system. My web dev skills are not proprietary, but the processes and systems I have worked on are.

Re: A senior engineer's guide to the system design interview

#227

Earlier quoted context omitted.

Companies already look at resumes, and the interview is a good way to double check things in a pass/fail manner. It's not like the SAT where you take a single test that sorta determines where you go, but even that is useful as a broad measure. Like if I'm in a top school's admissions and see 1800/2400 (idk the new scoring), there'd better be an explanation. If Amazon saw my resume and I couldn't explain to them gener…

These interviews are not gutchecks. They are shibboleth checks. I can design you a nice document, do the research, put the pieces together, etc with the big picture. I may not know a ton about AWS or another cloud provider but I can put the document together that describes how it will be looking when it's done. That is architecture . Somewhere between UML and word documents. What these interviews are checking, and th…

> I may not know a ton about AWS or another cloud provider but I can put the document together that describes how it will be looking when it's done. That is architecture. Somewhere between UML and word documents.

> What these interviews are checking, and the one you are describing, is whether or not I can parrot the correct code-words. Lambda, elastic cache, all this other nonsense.

Maybe we've just had very different architecture interviews. All the ones I've given or received were the way you'd want. I've never specified a cloud product in these. At most might say "let's use something like Postgres." Amazon for instance didn't care that I couldn't name any of their products.

Kafka example sounds awful. I'm sorry, but on the other hand, sounds like you dodged a bullet.

Re: A senior engineer's guide to the system design interview

#228
post #209

I think there may be an error in part 2 of this guide where it talks about ACID. To my understanding, the C (Consistency) in ACID is referring to the structure of the database. In other words, a SQL table can't be updated in such a way that violates the column definitions and constraints defined by the table. In this guide, it seems to be talking about strong consistency vs eventual consistency when discussing ACID,…

Yes. The Consistency property means that at the end of every transaction, the resulting data state in the DB will be consistent with the schema definition, including any constraints, triggers, etc. In other words, no transaction will result in invalid data with respect to the schema definition.

This is similar to soundness in programming languages.

Re: A senior engineer's guide to the system design interview

#229
post #203

Earlier quoted context omitted.

I literally can't diagram 90% of the stacks I've worked on in the last 8 years because they're highly NDA.

So draw the block diagram of something you worked on in school. Or, I don't know, a radio or something, if you're a hardware person. Someone who answers, "I can't draw anything for you because everything I know about is somebody's private IP," isn't going to get the job. At least, not if I'm doing the interviewing. You must know something about something else. Right?

Or just interview some place that doesn't give this kind of interview, like most companies. It's pretty trivial to get hired even if you can't talk about technical specifics along the lines of an architecture diagram.

Re: A senior engineer's guide to the system design interview

#230
post #203

Earlier quoted context omitted.

I literally can't diagram 90% of the stacks I've worked on in the last 8 years because they're highly NDA.

So draw the block diagram of something you worked on in school. Or, I don't know, a radio or something, if you're a hardware person. Someone who answers, "I can't draw anything for you because everything I know about is somebody's private IP," isn't going to get the job. At least, not if I'm doing the interviewing. You must know something about something else. Right?

Sure, I'd like to draw a vaccum cleaner, because this interview seems to suck and be unrelated to my job role. :)
Post reply on HN