Now it's 8 years later. I am working at another FAANG, working on something far less interesting than I would have at Apple, have way less money, and am probably 5 years behind where I would have been if I took the job
Getting a job at Apple without going to college or doing LeetCode
241–250 of 399 posts
Re: Getting a job at Apple without going to college or doing LeetCode
#242I'm a bit surprised and in denial about this.
Maybe this was exceptional hiring practice during the COVID craze which has also resulted in most of the recent layoffs?
I say that simply because I've personally and of everyone I know, have never encountered an interview that didn't involve that.
Re: Getting a job at Apple without going to college or doing LeetCode
#243Leetcode interviews are a zero interest rate phenomenon.
Re: Getting a job at Apple without going to college or doing LeetCode
#244Earlier quoted context omitted.
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…
Whether this should be done in-place or not is a completely valid direction in which to take the discussion and would be a "pass" from me. Also a "pass" would be `return itoa(atoi(input)+1))` with relevant caveats. An O(1) in-place solution with a sane API exists in C++ and the form of it is also a handy indicator of whether candidate who proposes solving this in C++ is familiar with more recent standards or not.
Re: Getting a job at Apple without going to college or doing LeetCode
#245The 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…
The only justification is that its a filtering mechanism. You likely won't use any of this, but its a proxy to certain characteristics you might find desirable in a candidate - some baseline intelligence and motivation. That you have the capacity to sit down and rote memorise a bunch of different techniques and practice completing a these kinds of tests indicates the likeliness of success in absence of other hard evi…
This assumes that they don't get similar number of people applying to the experienced positions who are lacking skills.
For example, I know some Java devs who could put down 5+ years of professional experience but are still very junior when it comes to problem solving skills. They are capable of following precise instructions and there's enough work of that nature to do - but an open ended "there's a bug that has a null pointer exception when running in test but not dev or production" is something that they're not capable of doing.
If they were to apply to a position that said senior java developer based on their years of experience and there was no code test as part if it, they might be able to talk their way through parts of it and there is a risk that they could get hired.
For a senior java developer position at Google, would it be surprising if they got 500 applicants with 5+ years of experience?
How would you meaningfully filter that down to a set of candidates who are likely to be able to fill the role?
Re: Getting a job at Apple without going to college or doing LeetCode
#246Earlier quoted context omitted.
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…
'Invert' is a pretty common word.
Or maybe it’s making the tree upside down, so all leaves become roots, and the root becomes a leaf. But when we do that, do we just invert all the edges or transform the whole tree?
Maybe it’s referring to changing a red-black tree into a green-white tree? Or turning a splay tree into a merge tree?
Re: Getting a job at Apple without going to college or doing LeetCode
#247Earlier quoted context omitted.
Effective for whom? And at doing what? SV is full of mediocre engineers; so it fails at guaranteeing you got yourself a star. And I don't think anyone needs more anecdotes to think great candidates lose for arbitrary/subjective/misunderstanding/random reasons -- I'm 15y into my career with a degree from CMU; I am treated like royalty everywhere I work ... and yet I still absolutely dread, hate and repeatedly have bad…
> insane amount of time every prospective employer demands of you I have worked an average of 40-hour/week jobs for my entire 30-year career. What's this "demand" nonsense?
Re: Getting a job at Apple without going to college or doing LeetCode
#248The 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…
Hiring should be a team level decision. Product roadmap should be an exec level decision. Google has it completely backwards. That's how you end up with hoards people gaming the hiring process by spending months on leetcode. And 3 chat apps from Google competing against each other.
Re: Getting a job at Apple without going to college or doing LeetCode
#249Earlier quoted context omitted.
Why would you want to become a wage slave if you've already built something that people want (thus can monetize it yourself)?
Using the word "wageslave" to describe 300k TC office workers is out of touch at best and downright offensive at worst.
People are so easily offended these days.
Having said that, if you work for a company and you get fired and blacklisted, you still don't eat. If you work for a wage, you HAVE to work for somebody or you starve. If you work for somebody, that somebody has a lot of sway over how your life looks. Better be good at kissin' ass.
Also, if you don't think the US healthcare industry will take every penny of your life's earnings upon your eventual and inevitable deterioration, you're fooling yourself.
FWIW, I'm a wage slave too.
Re: Getting a job at Apple without going to college or doing LeetCode
#250Earlier 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.
Of course there is a trivial solution in pretty much any language, for example something like str(Decimal(x) + 1) in python. That's dead-simple and anyone should be able to do at least that.
The later addendum that they want someone to know how data is store by the computer seems to imply that they want an answer that doesn't use these conversions, which gets a lot trickier depending on the context. I think you'd still expect someone who does C/C++ work to get there pretty quickly, but it is more than 15 seconds - you have to think about some corner cases and how you handle the string having to be resized in some situations.
But in some languages, it isn't obvious to me how you'd do it (especially since strings are immutable in many languages) and I think it is maybe a bit unfair to ask someone who does Java or Python or whatever to do it off the top of their head.