Readit News logoReadit News
Posted by u/NKosmatos 4 years ago
Ask HN: Would you pass an interview for your current position?
Hello fellow HN users.

Is it my idea or are interviews more harder nowadays? If you had to take a technical interview for your current position would you be able to pass it and get the job?

If you were the one doing the interview, would you be strict and request more things so as to filter out candidates? It’s understandable because somehow you need to find the best ones for a given position, but there are some soft skills that C/Java/Python interview problems can’t identify.

I’m asking because I’ve seen many interesting positions in which I could imagine myself into (having ~20 years experience in telecoms/soft engineering), but the entry requirements with regards to programming languages are set too high.

What are your experiences?

reacharavindh · 4 years ago
I am still feel pissed about an interview for a job I think I'd have fit in superbly. It would have been fun, and productive. If not for the hackerrank quiz they threw in the front filled with irrelevant puzzles that needed solving under time pressure. I don't have time to spend or willingness to "train" on such puzzles for the purpose of getting a job. I am sure if I had a chance to talk to the team or the engineers, it would have been effective. This bitter experience only amplified my hate for such tests even more. The job I'm at currently, gave me a practical task(similar to the ones I would be doing on the job) and a few days to submit the results/notes of. It was so much more pleasant to walk into a tech interview with such work and have a nice chat about practical technical stuff instead of stupid puzzles.
mountainriver · 4 years ago
Yeah this is the super unfortunate state of engineering today. I literally cannot bring myself to study puzzles when I could spend my time pursuing some interesting open source work.

Consequently, I have a lot of successful open source work, but most companies still don’t care and fail me for lack of fake puzzle quiz skills.

It’s utterly baffling to me that companies don’t want creative employees that build successful products out in front of everyone. Where you have a clear view of all their interactions and code.

I’ve tried to change this thinking at my current company and the consensus was it would be biased. Biased?! Code quizzes are highly biased! I’m producing useful functionality to the world!

I believe this and transparency are the new remote work. Some companies will get it early and for others it will take a major upheaval to get them to a place of reasonableness.

javajosh · 4 years ago
I actually enjoy those puzzles, but agree that they are irrelevant to the work. In fact, the very few times they are relevant is something of a special occasion! "Hey look, I have to design a slightly novel algorithm!" Most of the job is, of course, figuring out why things went wrong, based on imperfect evidence, which requires a good mental model of the entire system plus the ability to make changes to test and eliminate hypotheses. Very few, if any, technical interviews capture the essence of this act.
beepbooptheory · 4 years ago
For someone who can't even get an interview, but loves working on oss, this is highly discouraging...

I already have to be so focused with what little time I have in my life, and sacrifice a lot, to just make the things I want to make, I just can't imagine finding all the time to do this meta work/training.

Every day I grow more comfortable with the idea that my love of software dev and oss will forever be avocational. Perhaps though, financial instability aside, I'll be happier this way anyway

auspex · 4 years ago
I think the big relevation would be that these are not “puzzles”… there’s about 10 algorithms that if you learn you can solve the problems pretty easily. Make sure you keep reviewing the 10ish main algorithms.

Example:

Breadth first search

Recursion

Binary Tree

Etc.

Then it’s more a classification problem.

politician · 4 years ago
How many people are in your company?
PragmaticPulp · 4 years ago
> The job I'm at currently, gave me a practical task(similar to the ones I would be doing on the job) and a few days to submit the results/notes of.

Take-homes get a lot of criticism on HN, but in my experience they're superior for all the reasons you mentioned.

I don't actually see pushback against take-home problems in the real world, mostly just online. When given the choice, most people would prefer a practical take-home over a whiteboard style interview.

michaelt · 4 years ago
It depends on the procedure, somewhat.

For example, it's very tempting for a company to send out tests before doing much resume screening. Why should I spend 30 seconds looking at a resume when I could have the candidate spend an hour on a test, and save myself 30 seconds?

Or what if I set a take-home test which is supposed to take 1 hour, but also supposed to really to stretch candidates' ability and give the best candidates a chance to shine? Probably a lot of average candidates will give themselves a bit of extra time - and before you know it, I'm sending a "1 hour" test that takes an average of 4 hours.

Take-home tests are a lot less objectionable if you can properly guard against these problems.

MattGaiser · 4 years ago
HN people seem to line up 20 interviews and spend a week doing them. Take homes are untenable in that situation as half the interviews would still be a full workweek. I soured heavily on take homes during an active job search phase as I was already interviewing 4 hours a day with 3-6 people. I had a pile of companies, would accept any of them on the surface, and it was just a matter of grabbing one.

Many interview at a much less aggressive pace than that and I would prefer a take home when I am out of leetcode practice.

skeeter2020 · 4 years ago
The best process I went through was for a job I didn't get, but had me do a take home project that took about 4 hrs and they gave me a $300 USD amazon gift card. The biggest problem is it has really limited my tolerance for a lot of BS interview requests that previously I might have considered.
idunno246 · 4 years ago
time limits put an upper bound on how long youre spending on it which is good for a lot of people. ive given take home tests and some people clearly put more time on it than we expected.

as an applicant, ive refused takehomes that were auto-sent on receiving the application, but if its after a phone call with the hiring manager or engineer its not so bad. but then, i did end up having to defend why i didnt do a bunch of parts ancillary to the assignment - 'why didnt you build a config loading system?' 'uh cause i timeboxed it and that gives you fairly little signal compared to the business logic'

reacharavindh · 4 years ago
Yes. There is no silver bullet for this problem. However, interview goes both ways. Hiring team to judge a candidate and the candidate judging whether to go through the process and want to work there.

When I went through the job search, I did close out a few applications because I found out I wasn't too interested in their description of the role (after a conversation with more details than that was in the job posting), or simply if their screening process wasn't worth my time. The one I lamented about pass through those interest tests as the job genuinely fascinated me.

tempest_ · 4 years ago
It really depends on what you are given.

A take home that is 1-2 hours (what might be the length of an in person) is fine.

A take home that is 10 hours of work on the other hand

decafninja · 4 years ago
The two biggest problems with takehomes:

1. They do not scale horizontally. You do a takehome and get rejected, then your effort has become worthless when applying to other companies. Versus grinding leetcode - it scales across a huge breadth of many different companies.

2. Often times a takehome is not. instead of an leetcode interview. It's in addition to the leetcode interview. So you end up needing to practice leetcode anyways. Now you just have more work to do - work that doesn't horizontally scale.

kyawzazaw · 4 years ago
I have to chime in with an anedoctal. Chainalaysis, a unicorn blockchain company, was giving take home assignments a few months ago for new grad positions. Seems like enough people refused and they have now switched to a 45 min timed camera on HireVue
dmkirwan · 4 years ago
There is evidence that traditional software engineering interviews[1] assess a candidate's ability to perform under pressure better than their ability to do the job. I find it crazy that you need to spend weeks studying leetcode-style problems after doing the job all day in order to prepare for an interview.

Coincidentally, I've started working on a product to help this[2]. The general idea is that tasks like pull-requests, bug fixes and realistic take home projects are a better way to test candidates. Everything is done using Github, the tasks are all realistic and candidates can use their own laptop and development environment. It's not fully ready yet, but if anybody wants to chat about it just use the info@ address for the site.

[1] https://www.sciencedaily.com/releases/2020/07/200714101228.h... [2] https://devscreen.io/

javajosh · 4 years ago
If you can capture the candidates ability to setup a BTD (build-test-debug) loop, their ability to find and fix bugs, and that they know enough tooling to get it into production (and troubleshoot deployment), then you have successfully checked 80% of the job requirements for...almost every programming job out there.
UncleMeat · 4 years ago
That paper has been widely misunderstood in these discussions. Both groups were given the same whiteboarding questions. The only difference was whether the interviewer was in the room.
mountainriver · 4 years ago
This is cool!
lhorie · 4 years ago
Having been on both sides of interviewing, I find that the majority of complaints about the status quo seems to come from people that haven't been involved in the interviewer side that much and consequently simply put forward their personal preference (e.g. some people downthread saying they prefer take home, and then subsequently being countered that take homes aren't ideal for various types of candidates)

No offense to anyone, but it strikes me a little bit as armchair expert hot takes saying "why not just X". Personally I think that rather than complaining about leetcode-style loops, it'd be more productive to think in terms of what the problem domain is: namely, many of these companies are typically large and want some level of standardization in the hiring process: you have to contend with things like some ethnicities being culturally prone to "hiring down" to inflate subordinate count, talk-the-talk-but-dont-walk-the-walk types, thinly disguised sexism/ageism/other biases that are excused under the "cultural fit" umbrella, mismatch in terms of desire to provide technical interviewing skills vs volume of candidates, etc. It's easy to attack any one methodology simply because if such a thing as a silver bullet existed, we'd all already be using it. All interview methodologies are flawed, and for better or worse, leetcode-style happens to predominate interview loops because it has a semblance of standardization (though ironically, IMHO a good interviewer ought to be looking between the lines more than seeking specific answers, and a lot of leetcode-style interviewers don't get that nuance)

If anything, my two cents is that leetcode ain't going anywhere, so the next best thing we should be focusing on is making it more widespread that memorization culture isn't and shouldn't be the evaluation criteria (this goes both for the interviewer and interviewee sides)

pwinnski · 4 years ago
As a counter-example, I've been on the hiring side many, many, many, many times, more times than I can count, and I despise leetcode-style tests as much as or more than anyone.

I've been doing this long enough to know that the things that matter in every job at every company are almost never technical ability. It's skill in managing deadlines, collecting requirements and dealing with changes, divvying up work with teammates, things like that. Things that are difficult to test for, even on a whiteboard.

Asking questions about experiences and posing hypotheticals to see what gets candidates interested, or what stories they have to tell, these have been a better predictor of eventual success in my experience than any sort of technical test.

HeyLaughingBoy · 4 years ago
This is why the last large organization I worked (at least my group!) settled on pair exercises.

We had a known problem set that all candidates had to work and this consistency kept HR happy (although it was an uphill battle to convince HR that it wasn't a "test"). The problem was sized so it would be just barely possible to complete the entire thing in 45 minutes. In fact, I think in all the years we did it, only two people every completed the exercise, and one of those we suspect knew about it ahead of time.

However, the problem wasn't a blind "do this on a whiteboard" exercise. We didn't really care whether or not they finished: rather we wanted to see the process they took, the clarifying questions they asked, where they got stuck, how they asked for help, etc.

The candidate could choose to work in complete silence, or work with the interviewer as a team exercise, or a mix of both. The point of the exercise was to see if they could (a) program their way out of a wet paper bag and (b) do so in a way that didn't completely alienate the people they would have to work with. Leetcode? Obscure algorithms? We couldn't care less.

It was surprisingly effective.

itronitron · 4 years ago
Most, if not all, software engineering roles are highly specialized above and beyond general computer science. I think a lot of complaints about interviewing practices stem from candidates feeling their prior experience, which is directly relevant to the position they applied for, is being ignored and replaced with questions about arcane puzzles.
marcellus23 · 4 years ago
> some ethnicities being culturally prone to "hiring down" to inflate subordinate count

Sorry, what? Which ethnicities are these?

mountainriver · 4 years ago
Been on the hiring side a lot actually! I prefer to have conversations with people and hire primarily off OSS, it works really great
edmcnulty101 · 4 years ago
Memoization > Memorization
skeeter2020 · 4 years ago
I got one of these as the second step for a senior engineering manager position. I had the luxury of telling them there was an obvious disconnect in terms of what we felt was valuable and required to be a good leader, and cancelled the process. No response from them until 3 months later I got an email saying they were moving forward with a different candidate and asking me to rate their interview process!

This is the redacted exchange:

Hi [PeopleOps], I started the assessment and was very disappointed to the point where I didn't complete it. I've been an Engineering Manager for about three years and still have a lot to learn, but I've never encountered anything that looks like a set of brain teaser puzzles & psychometric analysis similar to this test. I have to interpret this a huge mismatch between how [Company Name] defines the best skills and aptitudes for the role and my own, so I'm going to withdraw from the process. I can't imagine a lot of candidates are prepared to jump through these sort of hoops but that's just my single perspective.

MONTHS LATER

Thanks for the time earlier this week.

I wanted to give you a heads up as to where we are at in our Sr. Engineering Manager hiring. We had an Engineering manager join us earlier this week and as of right now, we're ok on the hiring front.

I'd love it if you could provide us some feedback on the process as we're always looking to improve. Here's a link to a very brief survey that would really help us out. Thanks!

HeyLaughingBoy · 4 years ago
One of the things I've come to enjoy about becoming a more senior engineer is how the interview flow has changed over time. Now that I've interviewed lots of people myself, I understand the person on the other side of the desk a lot better and I feel it's a far more balanced relationship.

The issues that candidate employers are concerned about are (should be) more along higher level constructs such as ensuring quality or how to decide on a new technology or platform. What's a really interesting bug you found -- where really interesting probably means it was a system level issue, not just some bad code.

The interview becomes a detailed discussion between peers who are each trying to understand if they want to work with the other.

If someone started out with leetcode crap I'd probably react exactly as you did.

geekbird · 4 years ago
I've only done one of those nasty psychometric tests once. I didn't get a call back . This wasn't a surprise since they screen out non-neurotypical people with tests that are biased against dyslexia, colorblindnesss, dyscalculia, dysgraphia, ADHD, autism, and sequelae of brain trauma like short term memory faults.
geekbird · 4 years ago
This. I've slung code in (now) 16 different languages from macros, to scripting to compiled over the last mumbleseveraldecadesmumble. But they throw btree sort hackerrank puzzles at me when I've been a working sysadmin for over 20 years, and never had algorithm courses for a BS degree? How about no. If I have to sort stuff, I use a built in function, and let the CS hardcore software engineers do the puzzle games.

I'm a script hack and sysadmin/SRE, not a software puzzle guru. I look up the syntax I need for the language I'm writing today. I may end up programming a different language next week, month or year. It's not worth the trouble memorizing the triviata of every language I ever used.

There are only so many ways to cast variables and write loops. Everything else is nomenclature and punctuation.

Ask me to address a system problem, don't give me a BS puzzle.

crearo · 4 years ago
FWIW, every data structure / algo interview I've done allowed me to use built in functions for sorting (I work at FAANG).

In general, I dislike the interview process too, but there just isn't a better way to do these, as is clear from this large thread. If you look at it from the company's perspective, you have to conduct interviews at scale, and it can't hand off the same system problem to everyone.

You're being tested on your problem solving ability. It doesn't correlate directly to your job, but the general assumption is, if you can solve puzzles after studying for them, the chance that you can solve any random problem thrown at you is high.

Sholmesy · 4 years ago
> It would have been fun, and productive

How do you know this? The signal of them dumping you with some leetcode should be an indication that it wasn't meant to be?

halfdan · 4 years ago
Not necessarily. It just means that they weren't good at recruiting, they could still have a great team to work with.
reacharavindh · 4 years ago
Parent commenter.

The job description was top notch. It was a clear description of what they needed this engineering role to do. Inspire of it being a bit of a niche, I had almost perfect set of experiences from my prior jobs that made it very interesting.

Fun because it would have given me an opportunity to _improve_ upon my already bootstrapped skills. Productive because, I already have a head start than another engineer getting into the groove of things. This is HN, I can be tech specific :-) I have worked a lot on performance from HPC perspective. The job was at a High Frequency Trading platform that needed a sys.engineer who would work on extracting performance with things like pinning a CPU core to a process and several optimisations at the OS and kernel that would shave off a few milliseconds in an already fast application.

nefitty · 4 years ago
It's even worse when you crush every other part of the process, including take homes, and then get blown out due to one idiotic contrived puzzle.
dqpb · 4 years ago
Keep in mind that even if the job would have been perfect for you, the company probably interviewed multiple people, and selected one that they thought would be more perfect for them.

I recently did a round of hiring for my team, and we had several excellent candidates, but could only hire one, so we made a choice.

It’s always sad (for me) because I tend to see the potential in almost everybody, and wish we could hire all the people.

xchaotic · 4 years ago
Where on the planet are you and can you send the dropouts my way? This feels like alternative reality - we have jobs available but no takers.
nerdponx · 4 years ago
Not getting the job at a company that hands out irrelevant discriminatory interview tasks seems like a positive outcome to me!
somenewaccount1 · 4 years ago
Or you dodged a bullet as they probably also fill their day with useless crap that adds zero business value,but checks all the boxes. You might have ended up equally annoyed at your co-workers and management.
romanhn · 4 years ago
I agree with your overall message, however there's a subtle implication that some malevolent entity is putting up this awful process. In many companies, it is the engineers themselves that are creating these roadblocks. Most of them with good intentions even. I do wish that internal dissent was higher, but it's more common for new hires to be dragged along by inertia, especially since being hired often feels validating and equated with a fair process.
DrNuke · 4 years ago
It’s a numbers game really depending on the role and the hierarchy level, though? I mean, we should know in advance what to expect by going into that process, and the cohort we are willing to join. It’s just a preliminary fit, at any level. If employers want prospective employees to bark and you enter that race, you bark.
crate_barre · 4 years ago
You can’t really fight the system. We have to realize that those that got into these positions used that opportunity to put these gates in place. The only way to change the system is to get into the system and then break the cycle and advocate for alternatives.

But the enemy has the high ground at the moment.

dzdt · 4 years ago
There are strongly asymmetric risks for an employer in a hiring situation. Hiring a bad candidate is much more costly than rejecting a good one. The goal of the hiring process is to find a good candidate; there can be quite a lot of wasted time in interviewing before it comes close to the expense of a bad hire.

An implication of this is that the optimial interview process -- from the employer perspective -- will have a lot more false negatives (good candidates rejected) than false positives (bad candidates accepted).

So it could correctly be optimal for the interview process to be so onerous that most job-holders would fail their own interview!

jonathan-adly · 4 years ago
This is absolutely true for Google (or companies of similar scale), where it is 1. hard and slow to just fire someone 2. The production of a good (average?) vs. great programmer doesn't really matter in the grand scheme of things (due to massive scale, and robust quality control systems).

A process where you optimize for avoiding false positives makes sense.

Most companies are not Google though, and if they are <50 employee - it's absolutely the opposite. 1. It's fast to fire people 2. Missing out on a great programmer for an average one makes a huge difference!

So, it follows that they should optimize for avoiding false negatives (rejecting a great candidate), without worrying too much if they got a bad apple snuck in.

sethammons · 4 years ago
We did a hire fast and fire fast trial at work and it was not pleasant. The person comes on the team and we spend a lot of time onboarding, people form bonds, and then frustrations start to mount and the person is let go and now the whole team morale is lower. Lower team morale is not something to take lightly.
wreath · 4 years ago
> This is absolutely true for Google (or companies of similar scale), where it is 1. hard and slow to just fire someone 2. The production of a good (average?) vs. great programmer doesn't really matter in the grand scheme of things (due to massive scale, and robust quality control systems).

This is true also for places like Germany (and Europe in general afaik) where the cost of firing someone past their probation (6 months) is very very costly, especially for small companies.

IMO, at-will employment should be something the employer and the employee should negotiate and not imposed by the state or the employer. Unfortunately, it's usually the employer who has the upper hand.

phkahler · 4 years ago
>> Hiring a bad candidate is much more costly than rejecting a good one.

Sure, but the really bad hires usually aren't bad because they lack technical skills. They're bad for reasons that end up in HR. You can always reassign someone with people skills but short on algorithms.

Kranar · 4 years ago
There are plenty of really bad hires who cost a company lost time and money because they simply are not competent. It's made even worse because many incompetent people are genuinely nice and pleasant people, they are open minded and may even sincerely care to learn, and it's very hard and demoralizing to fire them and can take a big emotional toll on many people.

Firing an asshole who is incompetent is one of the easiest things to do and it can be done well within the probationary period, heck even an asshole who is fairly competent isn't a big deal and can be a complete morale booster and likely will not have resulted in much lost productivity.

I'd say most of the people I fire are not so called "HR liabilities", and in general most people are good people. But most software developers are not competent and in some cases that realization can take a year or longer in domains that require a lot of ramp up time, training, and investment. It's often a lot better to avoid hiring people who have even a 20% chance of not working out.

fabatka · 4 years ago
Is the concept of a probation period not universal? I mean if a new hire is terrible, it will show in the first 2-3 months, and during this period they can be fired without any repercussion whatsoever.
Kranar · 4 years ago
Most bad hires can be rooted out in a few months, yes... but a not insignificant number of them can take years as well. Also many, if not most people, simply stop learning and allow their skills to stagnate and that can become a liability after a couple of years.
milofeynman · 4 years ago
That assumes good engineers could pass and bad engineers can't. But I come bearing a single data point! The worst backend engineer I know just got hired at meta. He knows stuff! But his execution was always horrible/careless and he spent most of the day on YouTube / reddit when we were in an office.
quickthrower2 · 4 years ago
This is peak bullshit jobs
quickthrower2 · 4 years ago
Make it too onerous and good people will not apply or duck out when they find this. In a world where good talent is limited and finding it is requires effectively a marketing department in most companies, having too many tests might be a bad idea. Unless you are paying FAANG salaries.
Sholmesy · 4 years ago
We've had existing devs do the take home tests, not to make sure that they were capable of it, or if the test was too hard, but mostly to check if the test could be completed by someone in a reasonable timeframe and not unneccasarily waste a persons time.

My advice for these sorts of tests is to make it as short as possible, and use the test to give you something to talk about in the follow up in person interview. Replace "Invert a binary tree/solve this riddle" with "Why did you do this in the take home? What would you do differently if $FOO was now a requirement".

I find it effective.

To answer the OG question, I'm sure I would do well. Depends on the other candidates on whether I would get the job though.

mattkrause · 4 years ago
The expectations for the take-home work also need to be crystal clear.

I've gotten data science ones where you could spend anywhere from an hour to an entire career working on that one particular problem. If it's meant to be a simple pass-fail exercise, say so up front and reserve the interview for discussing how the solution could be improved.

fabatka · 4 years ago
I have recently had similar experience, but sending an email with my questions solved this problem. Of course if their HR or team is slow to answer it isn't worth that much, but still better than not writing that email (you can still point to it later). I was even thinking, maybe this is part of the test, to see how comfortable/proactive the candidate is with asking/clarifying a task.
halfdan · 4 years ago
The company I work for uses a take home project that can be summarized as: Consume some data from a public API, store id somewhere and then build a visual representation for the data you consumed. The goal is to spend less than four hours on this.

I really liked this since it gives plenty of room for discussion, leaves you a lot of freedom to chose your tech stack and make a case for it.

wiredfool · 4 years ago
We do something similar -- here's a dataset, give us a cli/api/library that finds things in it, and give us a run through of what/how you did. It's shallow enough that you can do it in 10 lines of code, deep enough that you could build a business around it (with more/better data). We have a rubric of about 15 things that are successively more rare/good approaches (ranging from "returns some data" to "successful approach I haven't seen before") , and 3 that are anti-points.

The thing that I find the most useful are the responses I get when I point something out and ask "why did you take this approach" or "what would you do to go faster" or if there's a bug, "I don't think this is doing what you want it to".

I absolutely grade this on a curve -- Entry level and data science backgrounds almost always go to pandas right off, front end people will be focused more on the UI side of it. But if you're senior and come at me with an O(N) or O(N^2) solution then I'm going to really want to know what you have to say about the performance question.

bryan0 · 4 years ago
Our company does something similar. I've found it to be very effective. We do this instead of leetcode, which I have found to be pretty irrelevant throughout my career.
samstave · 4 years ago
Are there lessons of such that one can follow?

Deleted Comment

dunefox · 4 years ago
> We've had existing devs do the take home tests

... and?

Sholmesy · 4 years ago
Sorry, I realize I never elaborated on the results. Some people could do a reasonable job in 30 minutes, others would take 2 hours (but would be more thorough). Neither end of the spectrum seemed "Too long", and so we thought it is a reasonable ask. It takes the devs that inevitably have to look at this, and potentially run the applicants solution, a chunk of time as well, so it's in our interest to keep it simple.

I wasn't suggesting that we had existing devs do the take home, realize it took 30 hours, and then thought that was a reasonable request :D

thunkshift1 · 4 years ago
Hi.. slightly off topic but what is the meaning of OG here
vgel · 4 years ago
OriGinal
ctvo · 4 years ago
No, I couldn't pass. Anytime I swap jobs and want to work for medium or big tech cos. in the US, I need 1-2 months of prep to refresh my knowledge of implementing certain algorithms by hand. That knowledge disappears immediately after I accept the job offer.
josephorjoe · 4 years ago
I've seen the coding questions we ask candidates... whether or not i would pass would depend 100% on which question(s) I was asked.

Something relevant to the work I do all the time? yes, I'd probably pass.

Something about some data structure or algorithm I haven't needed to use in four years that i now have 30 minutes to implement in code? I'd likely fail.

When something comes up in my actual job where i need to solve a problem i'm not familiar with, i first do some research on the problem and learn/remember what i need to know about it and related algorithms/data structures before doing any actual coding.

i certainly do not "immediately write code as fast as possible" when presented w an unfamiliar problem.

if you must ask candidates to work on coding problems, i believe that you should give them 3 or more problems and let them pick which one to work on for the actual "coding test" part of it.

Then maybe have a conversation about the other problems to get a sense of how they would think about/approach them w/o actually making them write code.

actually_a_dog · 4 years ago
You nailed it, man. I don't do terribly well on Leetcode interviews, on average, but, for my last job, my interviewer told me some time after I got hired that I had done the best on that interview that she had ever seen. That's because it was a real world question as part of a structured interview process, as opposed to "let's just 4 engineers to throw random problems at the candidate."
blastonico · 4 years ago
LOL, same here. It seems that my knowledge was moved (not copied) from my brain to my tongue, then it vanishes away through the phone line.
lijogdfljk · 4 years ago
Interesting. This is my weak spot as well. Any tips for going through this cycle? What do you use to learn them? To practice?
randmeerkat · 4 years ago
I used to reread Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People by Aditya Bhargava and practice LeetCode.

At this point though I just stop the interview if they’re asking Big-O or data structure questions. If the company can’t come up with meaningful real world examples that actually explores my experience, I don’t want to work there.

ctvo · 4 years ago
I love using JavaScript for white boarding. It's very forgiving, it's not strongly typed, interviewers are all familiar with it, and large companies almost always allow it. Python is second. I avoid Go, Rust, Java, Scala, etc.. Too verbose.

I do the following in JS:

- General graph algorithms (shortest path, backtracking based)

- Traversals for graphs / trees (depth first, breadth first, iteratively, recursively)

- Heaps (min, max)

- Tries

- Matrix manipulation / traversal. This is a very error prone for a lot of folks even though it looks simple when they need to write it by hand, and I always need to putz around with 5-10 problems.

I have enough exposure to common interview questions that the above is generally enough.

lowbloodsugar · 4 years ago
Sounds like my physics degree.
jitl · 4 years ago
Absolutely, yes. The main reason is that my company (Notion, https://www.notion.so/jobs) uses practical interviews, not CS algorithms based brain teasers. So my everyday work is exactly the practice I would need to pass the interview. Our frontend pipeline tests your ability to design and implement components in a UI framework. Our backend pipeline tests your ability to design and implement APIs and services in an HTTP framework. If you want to know more about our engineer hiring process you can read our interview guide here: https://notion.notion.site/Software-Engineering-Interviews-6...

If you want to talk privately you can reach me via twitter DM at https://twitter.com/@jitl or jake@makenotion.com

tmjdev · 4 years ago
There are a lot of jobs listed there with zero benefits listed in the actual job listing. You have to scroll >1/2 down the page to find out what the benefits are and those are fairly vague. Why isn't there at least compensation listed?
duped · 4 years ago
Almost no one lists compensation
NKosmatos · 4 years ago
Thanks for sharing and for reaching out. Good to know that there are companies doing real world practical interviews. Currently there you don’t have anything for EU remote, but I’ll keep Notion in mind. I’m sure that other HN users will benefit from your openness, interview process and available position. You comment (and other similar comments) is one of the many reasons I like HN :-)
jasonpeacock · 4 years ago
Generally, you try to hire candidate into a role that excel at (>50%) it but you promote employees into roles when they are achieving the next level but not excelling (<50%). If you wait to promote until they are excelling then you've waited too long.

Thus, if you interview those promoted employees, they are not going to match external candidates unless they have been in the role for a while and are now excelling.

Additionally, you evaluate external candidates much more heavily on raw skills b/c they have no internal knowledge/experience, but you include that internal knowledge/experience when evaluating employees.

Finally, interviewing skills != working skills. I've been writing software for 20yrs, and interviewing SDEs for almost as long, and I'd still do interview practice to prepare. In a normal job I can go search the details of what a red-black tree is, and find a library to use it (or spend a few days implementing it). In an interview I need to already know it and be able to implement it myself in less than an hour. (yes, that sucks, but it's the reality of interviewing today)

decafninja · 4 years ago
Myself: At a non-FAANG FAANG tier company. No, odds are more likely I'd fail.

Other close people I've asked before:

A, at Google, got in 10+ years ago. Told me she would not pass the current interviews.

B, at Google, an aquihire, 5+ years ago. Told me he would never have gotten in the front door (leetcode) way.

C, at Netflix, got in 5+ years ago. Told me odds are he would not pass if he were interviewing today. He says he is in a very interview un-ready state, and none of his realworld experience working at Netflix would help him pass his team's interviews.

mattm · 4 years ago
I interviewed someone referred by my manager. He had 10 years working at one company and had probably not interviewed in over a decade. It was a pretty poor interview and I recommended no hire. My manager still hired him since he had worked directly with him and he was one of the best engineers I've worked with.
thenerdhead · 4 years ago
No I wouldn't. The pipeline to big tech is quite broken. The only way I got in was through acquisition. Now that I'm in, I've been able to be a top performer and get promoted every 1-2 years. New hires are usually really bright, but they lack practical abilities to do anything the job requires.

The technical interview is broken and has been for a long time. I'm sad that as a society we accept leetcode or unrelated system design questions as a means to measure proficiency.

The standard continues to rise in certain companies and lowers in others.

I'm sure if I was in "interview mode", I could pass, but my position is not about knowing how to invert binary trees.