Live data from Hacker News

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

aheze.substack.com

171–180 of 399 posts

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

#171
Do tech companies still do old-school interviews where you just sit down with the hiring manager and talk about tech? I just did a few interview rounds, at some relatively obscure SAAS companies, after a very, very long break and they were all leetcode-type challenges. Is this the new norm?

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

#172
post #92

Earlier quoted context omitted.

> Sure, those statements (just use an existing library) are what you'll do in practice especially as a beginner The more code you write, the more you have to maintain. Sure, of course there are times where you need to re-implement something from scratch. But those times are rare (or should be). Making something from scratch without strong justification is a strong signal, just not a positive one. Now, as you point ou…

> The more code you write, the more you have to maintain. Sure, of course there are times where you need to re-implement something from scratch. But those times are rare (or should be). Making something from scratch without strong justification is a strong signal, just not a positive one. It really depends on what you're working on. A package to manage a dentist's office should be as off the shelf as possible. I don'…

Yep I absolutely agree with this.

I’ve spent about the last year optimising text CRDTs so they’re actually usable in practice. A few years ago, 800mb of ram usage and 5 minutes processing was common to open a document. Now we’re talking 2mb of ram and 20ms. That is the difference between something not being viable and something being usable everywhere. And yes: my code involved a lot of custom data structures and algorithms. There were no libraries in cargo which did exactly what I needed.

This thread is full of people bemoaning “leetcode problems” for being irrelevant in software jobs. But I use them all the time in my work. Software engineering is far more varied than any of our individual careers.

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

#173

Earlier quoted context omitted.

It came out that by inverting a binary tree just meant swapping the left and right children of all nodes of the tree. It's pretty much 'can you iterate through a tree?' which comes up a surprising amount.

Sure, but try coming up with that without even remembering what invert meant (it isn't a word that is commonly used in practice outside of CS education and l00tcode). Most of the problem in l00tcode question is just figuring out what is being asked for, not in doing the ask. That's why studying and understanding lots of l00tcode problems as prep is very effective (even if you haven't seen the problem, the problem is…

you can always ask interviewer - define invert what does it mean - and interviewer in 100% cases will explain and even provide test cases.

in fact any candidate that doesnt ask clarifying questions and goes deep into coding right away - has a chance of going into wrong direction and is flagged as red flag.

As an interviewer I always lookout for candidates that dont ask questions, dont start with test cases, assume in their mind what is their understanding of ideal solution - and start coding. These are very inexperienced people who do that

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

#174

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.

Yea fair point, totally agree. Big selection bias.

Still, I think a lot of folks could benefit from thinking through "how do I get into system B?" - because those skills are tremendously helpful in System A, too.

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

#175

Earlier quoted context omitted.

'Invert' is a pretty common word.

Yes, but the common slang it is used for isn't the meaning we are using for l00tcode questions.

There isn't one meaning in leetcode questions; it could mean a bunch of things. That's why you ask questions in an interview.

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

#176

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…

There a wonderful Corecursive podcast [0] that touches on unexpected ways to work with Apple. [0] https://corecursive.com/shipping-graphing-calculator/

Got a summary for those of us who can't listen right now?

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

#178
post #18
post #13

Side question: Is it still true that if you work at Apple, you can't be doing side projects etc? I've heard some stories rules from Big tech companies specially Apple that they restrict heavily what can and can't be done even in your free time.

Are most Applers even allowed to speak in forums like this one? Did OP follow the rules?

Well I just finished my internship so I'm more or less free, as long as I don't disclose anything confidential.

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

#179

The problem is that "leetcode" is a definitely a thing that exists in "FAANG" interviews. The biggest stumbling block with leetcode is that you shouldn't be programming like that in real life. "make a linked list" no, just use a library like everyone else. "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time…

Adding 1 to an ASCII decimal strings is a great icebreaker and I always use it. It is not leetcode. It is a filter for people who have actually encountered computers before. Even though our industry is maturing there are still a huge number of candidates who present themselves without ever once having written a program. I find the question has a massive signal. Either the candidate aces it in 15 seconds, or they imme…

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

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

#180
post #69

The problem is that "leetcode" is a definitely a thing that exists in "FAANG" interviews. The biggest stumbling block with leetcode is that you shouldn't be programming like that in real life. "make a linked list" no, just use a library like everyone else. "Implement addition in python but with string inputs", "no you can't use the built in x" All of that "clever" shit should be filtered out at PR/MR/diff review time…

All of this "clever shit" is exceptionally bad programming. In a company like Google (or Google 15 years ago really) there are problems with many possible solutions, but some solutions are better than others. The aim of leetcode recruitment is that it filters for people who can not only solve hard computer science problems, but also recognize what problem they're solving and find good solutions rather than just solut…

> If the library is solving the problem but solving it in an inefficient-but-working way that is not good programming.

Yep. And even then, you need to know what you’re looking for. Years ago I wanted a library which implemented occlusion on vector shapes for plotter art. I had no idea what terms to search for because I don’t have a strong enough background in graphics. Turns out there are algorithms which help - but it was years before I found a good enough library.

And if you know what to search for, there are so many terrible implementations out there. Look for priority queues on npm. Half the libraries implement custom binary trees or something, despite the fact that using a heap (an array) is way faster and simpler. If you don’t know why a heap is better, how could you possibly evaluate whether any given library is any good?

Post reply on HN