Live data from Hacker News

Getting a job at Apple without going to college or doing LeetCode

aheze.substack.com

221–230 of 399 posts

Re: Getting a job at Apple without going to college or doing LeetCode

#221

Earlier quoted context omitted.

What domain do you program in where handling strings/bytes is not a weekly if not daily task?

The point is not whether an applicant can or cannot do it, the point is that the question is deliberately rephrasing to obscure a candidates understanding. If you ask your average candidate to do that in laymans terms or they were given 5 seconds to google this would be a trivial task and you would have a different outcome. All this selects for is the candidate to have a working definition of an ascii decimal string…

> All this selects for is the candidate to have a working definition of an ascii decimal string in their head, it represents no ability to problem solve whatsoever.

Problem solving isn't orthogonal to having genuine expertise. Loads of awful, brittle, hard-to-read, but working, code gets written every day by people who are good at finding a solution but haven't RTFM, so to speak.

Re: Getting a job at Apple without going to college or doing LeetCode

#222
post #215

Earlier quoted context omitted.

Well, it describes what it's like to be in system B. All it says about how to get in is to build something (good? great? flashy?) and hope someone notices. This clearly does work sometimes, but it's not necessarily the best advice for everyone.

Build good things and develop a good network of people who know what you can do. A lot of hires, even in companies like this, happen more from conversations that resumes and job postings. As a hiring lead, there are a small handful of people I know well that I would try to create a job for immediately if they emailed me they wanted to join. As an employee, many job's I've had started something like that.

Yep. Also learn like 5 data structures and 7 algorithms in case the relevant manager can't just unilaterally hire you.

Re: Getting a job at Apple without going to college or doing LeetCode

#223

I think the sort of more general point, rather than "build something great that someone at Apple notices", is that Graduate and Internship programmes are scale businesses. They get thousands of people applying and will hire atleast dozens, probably some FANG are hiring hundreds. So yes, we're all special snowflakes, but that's not what this process is for. It's about harsh rounds of easy to design problems to winnow…

can confirm, it's as simple PG says "just build something people want" it will open many doors :)

Something I've noticed over the past 5 or so years is a "hobby project" is increasingly becoming the standard. Your GitHub portfolio is almost as important as your resumé itself in many cases. It starts the conversation and grabs attention with potential employers, but doesn't act in lieu of a technical evaluation. Almost every competitive applicant at the intern level has some tool or webapp that they've built out extensively.

Re: Getting a job at Apple without going to college or doing LeetCode

#224
post #91

Earlier quoted context omitted.

If you ask me a question that boils down to “write a card shuffling algorithm”, I’m going to do less well because I’m being taxed by the thought of “Why is this person asking me to shuffle a deck of virtual cards?” During the interview, I’d probably just google “best algorithm for shuffling deck of cards in ”, and I’d tell you I was looking it up. If you tasked me with shuffling cards on the job, that’s what I’d do.

You could just ask, and we'd answer "it's just a simple problem so both of us can see what it's like to work together." You'd be surprised how many people show up who don't actually know how to write a for loop. And if you didn't like the experience you wouldn't want to work for us so the interview would be a success too.

> don't actually know how to write a for loop

My god, yes. We had a two-part problem that we used for the "work skills" part of the interview. Part 1 boiled down to writing a two-level nested for loop that was simpler than fizzbuzz. Part 2 was using that loop to solve the rest of the problem, which was far more complex. I lost track of how many candidates spent 40 of the 50 minutes just writing that loop.

Re: Getting a job at Apple without going to college or doing LeetCode

#225

Earlier quoted context omitted.

It seems fairly straightforward to just ask verbal questions? For example, if the position is mostly coding C then just get them to explain how some X interacts with some Y and how that interacts with some Z. Maybe with a copy of of K&R and get them to point to page so and so. Do that a few times, maybe use a whiteboard, and I think any experienced C developer will be able to tell who's faking it and who really under…

Not the point you’re making but in a C shop, if I interview and somebody pulls out K&R in 2023, they’re not getting hired. I get the wider point you’re making, and yes, a chat can help. Elsewhere in a reply to this I talk about how I personally like to do that, but the problem is, a significant number of people can talk about coding but can’t actually code. I once interviewed somebody who had passed 3 previous calls.…

> a significant number of people can talk about coding but can’t actually code.

We removed pseudocode from our pre-screening due to this. Some people are absolutely great with English and pseudocode, but can't write a for loop, in their "preferred" language of their choosing. I'm sure they could be great at programming...eventually.

Re: Getting a job at Apple without going to college or doing LeetCode

#226

Earlier quoted context omitted.

I have written countless programs but would not be able to answer that without first turning to google. You might have screened out plenty of valid applicants with this

You don't know how to transform the string "12345" to "12346" in a mainstream PL? I don't think "valid applicant" and "doesn't really grok strings/types" are compatible, outside of intern/maybe junior positions. The filter works.

Eh…

You’re given `99999`. Increment it. A naive approach would turn this into `9999:`. Making this work is a bit complicated and involves memory reallocation if you’re in a C-like language and you need to increase the length of the string in order to increment it. You’ll probably want a system where the caller passes a buffer of sufficient size to use for rewriting the string, in case you overflow. Make sure to have a way for the caller to pass the buffer length. You don’t want to allocate because that’s not the way it should be done in C, callers should generally allocate. You could use atoi, increment, and itoa to go back again, but that’s probably “cheating” from the perspective of a leetcode advocate, they likely want you to do this without the stdlib conversion functions.

There’s a bazillion reasons why this sucks as an interview question. There’s no way a correct answer is just something you’ll “get in 15 seconds”.

Re: Getting a job at Apple without going to college or doing LeetCode

#227
post #32

Earlier quoted context omitted.

Especially for Senior Developers I think systems design questions are more interesting. They usually don't just have one right answer and you need to discuss the advantages and disadvantages of the different approaches. They require knowledgeable interviewers of course. Then again, I'm not working in a huge corp, so I don't know if this scales.

The issue with system design is that it doesn't always have a perfect answer and a lot of things are arbitrary about it. This leaves a lot of bias with the interviewers as to how to interpret the answer and question. This is less the case with Leetcode where there is usually only one or two optimal ways to solve a problem and you can just argue over time and space complexity as a means of what "optimal" is. System de…

I guess at this point in my career the soft side of system design questions are a good thing. I'm interviewing the team as much as they're interviewing me. The inability to have a soft discussion about something like system design that shouldn't have one right answer is them failing.

Re: Getting a job at Apple without going to college or doing LeetCode

#228
post #91

Earlier quoted context omitted.

If you ask me a question that boils down to “write a card shuffling algorithm”, I’m going to do less well because I’m being taxed by the thought of “Why is this person asking me to shuffle a deck of virtual cards?” During the interview, I’d probably just google “best algorithm for shuffling deck of cards in ”, and I’d tell you I was looking it up. If you tasked me with shuffling cards on the job, that’s what I’d do.

You could just ask, and we'd answer "it's just a simple problem so both of us can see what it's like to work together." You'd be surprised how many people show up who don't actually know how to write a for loop. And if you didn't like the experience you wouldn't want to work for us so the interview would be a success too.

Come up with better problems, please.

Re: Getting a job at Apple without going to college or doing LeetCode

#229

Earlier quoted context omitted.

The comment you're replying to is saying there's 2 processes, and it matters which one you're in. System A optimizes for min(p(hire|bad_candidate)). System B optimizes for max(p(hire|good_candidate)). System A has resume screens, long lead times, and Leetcode out the wazoo. System B has a few convos, short lead times, and review of actual previous work product. Horror stories come from great candidates in system A. T…

Well, it describes what it's like to be in system B. All it says about how to get in is to build something (good? great? flashy?) and hope someone notices. This clearly does work sometimes, but it's not necessarily the best advice for everyone.

there's an old joke about a company owner who would routinely throw half of every stack of resumes he received straight into the bin, because "who wants unlucky people working here?". i think a large part of why it's funny is because it really does take a considerable amount of luck to get hired at all, and especially through the system B process.

Re: Getting a job at Apple without going to college or doing LeetCode

#230

Earlier quoted context omitted.

The problem is though how do you evaluate for real work without a portfolio of experience? Real work projects take weeks - perhaps months - to design, build, review and release. How do you test for that, really? I agree leetcode style interviews are artificial, but I think they persist because few people have identified and popularised effective alternatives. At least with leetcode you've shown people in front of you…

Refactoring is the best kind of test! It has a slight bias for programming languages but the bias can be mitigated by having refactorable libraries in many languages.

I'm fairly certain I would not perform well with this, unless the library was trivial.

Refactoring is a task that's mostly about reading, understanding context, and a bit of rumination.

I think having them design the library, or a fraction of it, from scratch, would give a more momentum.

Post reply on HN