Live data from Hacker News

They don't even know the fundamentals

blog.royalsloth.eu

221–230 of 323 posts

Re: They don't even know the fundamentals

#221

Earlier quoted context omitted.

> I totally fail to parse any written explanation of liskov substitution principle Off the top of my head, "all child classes should be usable interchangeably when dealing with an interface/base class". I guess that's too imprecise to qualify as "written explanation"?

This doesn’t sound correct to me. The original statement is, Let ϕ(x) be a property provable about objects x of type T. Then ϕ(y) should be true for objects y of type S where S is a subtype of T. Here, objects of a base class are replaced with objects of derived classes.

I interviewed a guy once who used rho instead of phi when I asked this question. What a bozo.

Re: They don't even know the fundamentals

#222

Earlier quoted context omitted.

>an employer is asking for proof that you've actually put the effort to be an engineer before they dump a river of money onto you? But that's the rub, knowing the acronym to ACID isn't proof of anything other than you read about it recently. Asking about the ACID test is like asking what Chipper Jones' batting average was in 1994 when interviewing to be a baseball player in 2021. 20+ years ago, I could recite all tha…

Sure, but my counter-point is: "who cares?" Why is it important for the process to the perfectly fair when there's a truck-load of money at play? As soon as you get hired you're set for life, so what's so terrible about having to spend some time learning about a couple of additional concepts? Even if you never use them again, you're still on the win by an unfathomable margin. Not to be disrespectful to anyone, but th…

>it important for the process to the perfectly fair

It's not about fairness, it's about the ability for a company to hire what they need, and the person who best fits that need to be hired. That isn't happening now because the hiring process is broken. I think the main issue is people are afraid to fire employees who don't work out, although there are plenty of mechanisms (legal and policy) to make this frictionless. There is also a tsunami of unqualified people trying to get hired because it's one of the last few occupations that pays fairly well.

>As soon as you get hired you're set for life

That isn't anywhere close to true.

>The tech community has become increasingly disconnected from the real world in the past 10 years.

Sounds like you have an axe to grind. What are you basing this off of? I assume you don't work in tech.

Re: They don't even know the fundamentals

#223
post #8

I like the Zoho strategy of just hiring high school kids and training them - https://m.timesofindia.com/india/this-man-is-also-driving-on...

I've worked with several companies that tried that, in the end once the juniors became experienced and skilled enough, they took offers from other companies with a much higher salary. The issue is that training/skilling juniors or fresh university graduates costs you money and slows you down (as you need to assign senior engineers/mentors to assist them). It is not unlikely that a newly joined junior employees only c…

New unethical life hack: make up a failed startup to pad out your résumé to get hired as a senior right out of college.

Re: They don't even know the fundamentals

#224
post #78
post #4

Earlier quoted context omitted.

I've seen this argument before and I don't think I agree. Surely there's a lot of times when I program that are heavy into thinking, but there's also a lot of mechanical work. Refactoring? Typing speed will help you. Going to try out a new approach? Typing speed will help you to see whether it's true or not. Everything else being equal, typing speed will help you try out stuff faster.

Way too many times I have seen fast typers who would spend as much time adding text as immediately deleting it after that and typing something else in its place, over and over. (Maybe that’s the way they think , I don’t know.)

It is for me - sometimes trying out/typing out a solution is the fastest way for me to get a feel for if it'd actually work in practice.

Re: They don't even know the fundamentals

#225
post #101

The Feynman principle applies - it is important to know the thing and not as important to know it's name. In an interview, find out if the person knows them thing or can work it out.

Though he does admit [1]

> So I had learned already that names don't constitute knowledge... That's caused me a certain trouble since because I refuse to learn the name of anything... What [my father] forgot to tell me was that the knowing the names of things is useful if you wanna talk to somebody else.

I think an interview might count :)

[1] https://www.youtube.com/watch?v=ga_7j72CVlc

Re: They don't even know the fundamentals

#226

Earlier quoted context omitted.

It's a fine way of doing it, although certainly it shouldn't be the only algorithms question. It's a simple data structures / algorithms question. Can you think in terms of how data is stored in memory? Do you understand the tradeoffs of storing data in one form or another? Can you work with recursive algorithms? Given a challenge of having to think about data in a form you haven't recently, can you wrap your mind ar…

> Can you think in terms of how data is stored in memory? If you're using a modern OS, you don't know this. The kernel remaps everything and pretends to give you a linear chunk of memory. You don't know what's in the various caches and what's been paged out of ram completely. Everything is built on layers of abstraction. C is an abstraction layer that fits poorly into what modern CPUs and operating systems actually d…

That's not an excuse for not being able to reason about data structures if your job requires working with data structures and algorithms. The logical extension of your argument is "put everything in a linked list and let the OS work it out."

Re: They don't even know the fundamentals

#227

This is basically because interviewers need to properly advertise the level of depth they want in a role. It's unfair to ask for each engineer to be in the top 5% of engineers everywhere -- not every engineer can be -- but there are roles that don't require such depth. But interviewing in general is tough (I'd go so far as to say it's a shitshow) and there's lies on both ends -- companies and managers and folks on th…

Interviews are creative fiction: the applicant pretends to be competent and the employer pretends not to be a toxic workplace environment. I’m increasingly convinced that this is not a solvable problem.

Re: They don't even know the fundamentals

#228
post #215

I've found bad interview questions fall into one of three camps: 1. The interviewers aren't subject matter experts themselves but are hiring managers, so they've taken their questions from someone else. 2. The company gets far more good candidates apply than they can hire, so the process is less about removing bad candidates and more about having some arbitrary way of whittling down good candidates. 3. The interviewe…

In an interview, they gave me access to their codebase and asked me to fix an actual (small) bug. The interviewer showed me where the codebase was, how to replicate the bug, all of that took less than 10 mins. Then he left, told me to give a shout once I am done. Took me about half hour to do it, another 10 mins to explain what I did to fix the bug. There were no other questions - no white board stuff, no algorithm q…

I did something similar and loved it but a friend pointed out That he will fall over with an anxiety attack in such a situation. I always thought the best case would be to offer a choice to the candidate among 2 or 3 different ways to do the interview.

Re: They don't even know the fundamentals

#229

Earlier quoted context omitted.

> If you have an engineering position in which a high degree of CS competence is required and the candidate can't even make it past the initial layer of "regurgitating binary tree operations" then you have the wrong candidate. Or you have a candidate who understands binary trees, can implement it but can't regurgitate binary tree operations from the top of their memory.

For me the point would be that a no-frills binary tree is simple enough that any dev qualified for such a position should be able to figure out what needs to be done from the specification, without needing to regurgitate anything. If they can't recall how balancing is done that would be fine with me, as long as they mention it.

Exactly. And that's the reason you'd probably layer the question with some more complex asks after the initial answer. If somebody has memorized the algorithm but then can't explain further, it's obvious they've "regurgitated" without really having a deep understanding of the problem being solved with the data structure. By contrast, a good candidate may not be able to immediately repeat the algorithm, but can reason their way there pretty quickly.

Re: They don't even know the fundamentals

#230

Oh for fucks sake, every month this topic comes back. It honestly doesn't matter if the fundamentals are useful or not. What gets me is that programmers want to be hired by top-tier companies and earn massive salaries without putting a single drop of effort into actually acquiring the knowledge that justifies that position. Can we just collectively swallow our privilege and stop whining that an employer is asking for…

>an employer is asking for proof that you've actually put the effort to be an engineer before they dump a river of money onto you? But that's the rub, knowing the acronym to ACID isn't proof of anything other than you read about it recently. Asking about the ACID test is like asking what Chipper Jones' batting average was in 1994 when interviewing to be a baseball player in 2021. 20+ years ago, I could recite all tha…

[deleted]
Post reply on HN