Hacker News new | ask | show | jobs
by adamcharnock 1294 days ago
Not the OP, but with similar experience levels and I’ve never done a LeetCode interview, and even regular interviews are pretty light. I mostly contract though, and they generally offer me full time after a little while if I want it.
6 comments

Also not OP, and also similar experience. Most of my interviews are an hour or two of conversation, sometimes with a "I've been told I have to ask.. " techy question but never involves any actual code/whiteboard. Several times the interviewer has said something to the effect of "I won't insult you by asking you to do a tech test, it's clear to me that you understand the work" or similar. One occassion (some years ago now) I've replied to a request to complete a tech test with a "Would you rather look at my open source code/contributions?" which they did and I didn't need to perform the test.
Not quite as experienced as you (I’m in the 10-15 year bracket).

I never ask LeetCode questions because it’s far easier on both sides to ask experience-based questions like “what do you like/dislike about <technology on your resume>?”

If I get superficial answers that tells me something. If i get well thought-out answers from people who have clearly spent time in the trenches that tells me something too.

I've been doing this for 30+ years, and I've found the same. It's not just whether the candidate can answer correctly, but how they answer.

Back when I was doing C/C++ interviews, I'd ask questions like:

What's the difference between single and double quotes? A meh candidate answers something about you need single quotes for just a single character. A good candidate answers about how the data type for a double-quoted constant is a char.

If I want to pass a variable into a function, and have its value changed by the function, what do I do?* A lousy candidate says "put an ampersand in front of it". A meh candidate says to pass a pointer to the variable. The best candidate will talk about the difference between call-by-value versus call-by-reference.

People really do reveal a lot about themselves not just in what they say, but the way they say it.

> If I want to pass a variable into a function, and have its value changed by the function, what do I do? A lousy candidate says "put an ampersand in front of it". A meh candidate says to pass a pointer to the variable. The best candidate will talk about the difference between call-by-value versus call-by-reference.

I agree it's good for a candidate to demonstrate a solid understanding of evaluation strategies, but the way you phrased the question, the 'meh' answer seems about right. You asked what do I do? which invites a narrow answer specific to the language.

Agreed.

In fact, I had an instructor in college that would have marked you down if a quiz/test asked this question and you wrote an entire paragraph describing call-by-value versus call-by-reference.

On the final, he said "Each of these questions is answerable in 1-3 sentences. If you're writing 1-3 paragraphs, you're wasting my time and I will subtract points even if your answer is correct."

We need your professor to coach interview candidates. On the "interviewer" side of the table, I can't tell you the number of times I've asked a question that should produce a quick, simple answer, and instead got a 5-10 minute stream-of-consciousness word salad out of the candidate. Or a huge run-on sentence this-and-that-and-this-and-also-that-oh-and-this... without coming up for air. It's so common, I must assume that these kinds of replies are being taught to candidates as some sort of best practice.
Must have been before rvalue references.
Both great questions, where the answer will give you a level of knowledge, rather than a yes/no.

(personally, I would be a meh candidate until you probed further - but I've not touched C for.. hmm, I'm old)

I often get questions where I need to determine if they're looking the textbook answer, or a real-life answer. Usually I will go with "well generally, the answer is $Textbook. However, ..."

I just realized that my above model answer gets broken by the formatter. the first question should get answered with char-star, that is, pointer to char.
If you put a backslash in front of the asterisk it should be kept as-is instead of triggering the formatting.
This is why I don't use C. ;)
Why would using pointers be better than references ? At least a reference cannot be null?
Well, at the time I was doing that, it was actually for a C and not C++ job, so &references weren't even a thing. But my point wasn't that using the ampersand is wrong - just that if that's how you describe what you're doing, you probably don't have a very strong foundation in how the language really works.
Completely off topic, but I wanted to see if your bio could be parsed for an email with chatGPT - since I thought yours was the most interesting I've seen in some time. Turns out cgpt is quite clever:

What's the email address: To email, send to the domain [redacted], using the mailbox "[redacted]".

In general, email addresses consist of a username followed by the at symbol (@) and the domain name, such as [redacted]@[redacted]. However, without being able to verify the existence of the domain [redacted], I cannot say for certain what the email address would be.

Hey someone flag the above comment - I’m an idiot and left the email in there
We've redacted it now.
as the person you're talking about - I just up-voted you anyway, just because this is interesting :)
Exactly this! I haven't been interviewed for a long time now, but since the beginning of my career, when I have interviewed people I ask deeper questions. Even with tech tests, I use them as a jumping board for diving deeper into language design, tradeoffs and experiences. Even a trivial, reverse-a-string kind of questions can take you deep into candidate's knowledge.
Yes, I'm exactly the same.
Contracting interviews are nothing like FAANG though, I literally had one that was a 30m chat with a couple of softball questions. Compared to FAANG they are all a walk in the park and barely need any prep.
I give contractors a coding question related to the job. Unlike LeetCode, it isn’t really challenging (not even fizzbuz), just a test that they can learn a few APIs (that are given descriptions) and write down code. You’d be surprised how many candidates freak out at that point. Unfortunately, it’s often needed for the role.
Not everyone can do this, but if you can manage to first do contract work, IMHO it's win-win for both parties. From the company's point of view: senior engineers are very expensive -- having a contract period lowers risk. From the employee's point of view: you get a good idea of what the company is doing / what your exact role would be before you commit.

In theory, it's at will employment yada yada. But in practice, it makes a difference.

How do you find contract opportunities? Is it the same as regular job searching? Do you use a firm? Do you apply to full time job posts but say you prefer contract to hire once you have an interview?
the canonical way is reaching out to anyone in your work history that you had any sort of positive working relationship with. i just went through this exercise and saw a tip in a similar thread to ask something like this in the email, “do you know anyone who is looking for contractors?” this way you don’t create a potentially awkward situation for them where they have to say they can’t hire you. and, in my case, this led to referrals that ultimately ended up in signed contracts.

there are sites online, like the whoishiring threads here. i’m running https://hourly.fyi/jobs/

For me it was opening up on LinkedIn and making myself "Open to work", recruiters were reaching out daily (or close to it).
big agree on contracting interviews being light. i’ve had about a dozen in the last year and only 2 asked technical questions. the rest were more curious about time lines and cost.
Can you share which companies these are?