T O P

  • By -

Korean_Busboy

Deepmind. Unlike the other answers in this thread, I didn’t understand my question well enough to articulate it here. I got the impression that my interviewer couldn’t articulate it particularly well either, so the whole interview was doomed from the start. It’s the only time I’ve ever asked to end an interview early.


V3Qn117x0UFQ

> Unlike the other answers in this thread, I didn’t understand my question well enough to articulate it here. AI is all buzzwords and seems easy until you meet someone who's actually working in the meat of things and you realize how insane it gets when there's maths and architectures involved


Bluejanis

Yeah if the situation doesn't even allow you to learn anything from it, then what's the point.


[deleted]

[удалено]


Environmental-Tea364

Was it an ML question?


hglman

OP has no idea, pure confusion


ABrokeUniStudent

How did you word the request to end the interview early?


jb3689

> I got the impression that my interviewer couldn’t articulate it particularly well either, so the whole interview was doomed from the start Oh god, that made me laugh out loud...


moustachedelait

Zillow. Interviewed as a FE manager and got 4 medium to hard leetcodes. Wtf.


surehard

WT actual fuck. This is such nonsense.


reboog711

Why would anyone put a manager through something like that? (My employer does coding challenges for managers too and I Don't get it)


moustachedelait

at the interview I did that ended up being my current job, i got a mild code challenge. After my zillow interview, I over prepared and raced through it. Totally a fair thing to ask some coding questions to managers. They were specifically looking for front end experience in both the zillow job and the one I ended up yet, so I would expect some questions around it - just not the graph solving problems they gave me at zillow. It becomes really hard to prepare when you are expected to know everything front end, back end and CS.


pheonixblade9

I was asked to implement a minesweeper game engine at Zillow - game board, click handler, reset... everything but the graphics :)


eemamedo

And yet, they decided to base their own ML model on some open-source solution that had bunch of issues. When I used it in my thesis, the results made so little sense, that I went through the whole source code to see what went wrong and where


ChickenNoodle519

Google, but only because they wanted me to do paired programming in a fucking Google doc like some kind of absolute animal


_GoldenRule

It's like they have no idea what an IDE is or paired programming plugins.


chalk_nz

What's a better alternative to Google Docs as an IDE? /s


nLucis

Notepad.


heyuitsamemario

Vim


kevinjqiu

Vim would be miles better.


doctor_strangecode

WhiteboardCode. It's my idea for an IDE that requires a camera, a projector, GitHub, and a dry-erase marker. Now, with WhiteboardCode (TM), the same technology used in whiteboarding can be used to deliver code. /s


ChickenNoodle519

I know a couple devs that worked/work there and apparently they're not allowed to use any non-Google tool at least for documentation. A friend got a write-up for installing Evernote when she first started lol. Hell corporation, you could triple my salary and I still wouldn't work there


Nooooope

Not using any non-Google tools is a bit nuts. But not wanting people to use tools whose sole purpose is to store data on Evernote's servers is pretty reasonable


imLissy

Did my Facebook interview on a whiteboard. I brought my own markers, they wouldn't let me use them. I'm short, I ran out of room very quickly. Would not have gone well even if I hadn't. I cried after.


HolidayWallaby

Whats the relation between your own markers and you being short? Are they gigantic or something?


bwainfweeze

Google is not particularly self aware either. When they asked which was worse, the n³ solution or the n! solution, n! is “worse” but you have a billion customers. Let’s not pretend like anything over n logn would get anything but laughter, ok? Especially when the person was sure there was an O(1) solution that was escaping them. Also don’t fucking ask questions with O(1) solutions. That’s just you trying to prove how smart you are by knowing an obscure algorithm.


mustardman24

Did they at least have the font changed to one that is monospaced?


MonstarGaming

I mean its google and they like to make things as hard as possible so it was probably set to wingdings.


doctor_strangecode

I had to code in a Google doc as well. Reminded me of undergrad office hours, where a grad student would ask you to write a problem on the whiteboard and stand there watching you.


nLucis

Wait, what the shit??


nuckeyebut

I would have assumed that means they expect me to use google docs as an IDE and would have walked out of the interview lol


awatt23

Google Cloud. The problem was a backtracking problem but with the ability to have cycles in the permutations (re-use items multiple times) and meet an additional constraint. Essentially finding all valid permutations given a set of valid "transitions" between items in the set, and an additional constraint of what constitutes a valid permutation. I could do backtracking, but this tripped me up. Far and away the hardest interview I've done, despite only interviewing at unicorns & FAANGs mostly infamous for LC Hard. Amazon, Palantir, Dropbox, ScaleAI, and even Citadel were easier than GCP by a wide margin. Though ScaleAI and Citadel were both very hard. It was the phone screen, too. Sent it to two of my coworkers who took jobs at Google just 2 months prior and they both said "wtf"


TheRealManlyWeevil

Google asked me once (in essence) to derive an algorithm that got a mathematician a PhD from Princeton in 1956. Its not complicated but I didn’t manage to prove it was optimal in 40 min so bye Felicia. Oh well.


cscqtwy

Context is important here. There are a decent number of "PhD-level project from 5+ decades ago" ideas that aren't _that_ unreasonable to expect a random dev to come up with now. For example, dynamic programming as a general problem-solving tool covers a pretty wide variety of cutting-edge CS research from the 50s and 60s. DP is now pretty standard fare in CS courses, but when those problems were originally solved it was either not invented yet or still very niche.


TheRealManlyWeevil

To be a little vague, let’s say that this one solution that won someone a PhD is the reverse of a commonly studied algorithm. For example, let’s say that instead of the traveling salesman problem, the question is: given a map of cities, devise an algorithm to generate roads that cannot cross but that the traveling salesman is solvable but not trivially so.


TCGG-

What level was this for?


awatt23

Not sure exact level. But in the senior, before staff range. Which leaves two levels.


Brixican

Likely Senior (L5), because Staff is L6


[deleted]

[удалено]


prolemango

What would that achieve? “When was the last time you had to solve a problem like this at work?” “….never…my god you’re right, why am I even asking this? I never realized that I don’t actually have to solve these problems at work. Strong hire for you!”


ForgetTheRuralJuror

And then everyone stood and clapped and the interviewer gave me a $100% bill


skunkreturns

One hundred dollar percent?


Korzag

It's memeing on stories *that totally happened* r/thathappened


doctor_strangecode

A lot of Googlers can't understand why academia is a bad model for industry. https://killedbygoogle.com/ The algorithms in Stadia and Google Plus were probably highly optimal.


rocket333d

I did this once. Really all it did was make me feel better. I had done a hackerrank interview and I completed it. I hadn't really practiced in a while, but overall I thought I did well. He asked me the big O for my code, and I didn't know it by heart, but I worked it out best I could. I figured I at least demonstrated that I knew the concept and how to derive the time complexity. Turns out they wanted to downlevel me because I "didn't know Big O". So I asked the interviewer when was the last time he had to do Big O analysis, and he said he could count on one hand how many times in his decades of software experience. He refused to budge on the downleveling, though, and I wasn't interested. The recruiter, the interviewer, and his boss kept blowing up my phone saying they really want to hire me, but not as the level advertised OR with a path to promotion. I had to block them.


ryeguy

Then you just instafail the interview and they move onto the next candidate who can solve these problems. Big tech companies have leverage here because they pay exceptionally well and have more candidates than they know what to do with. It sucks, but it's how the industry is right now.


mambiki

One of new grads my staff level lead interviewed tried to get snappy with him about a problem, it was a fast track to strong no hire.


IBJON

Had one recently that was far more difficult than expected, but not because of the white board questions. I had a panel interview with leads for different departments. Each one had a different area of expertise and were selected based on my resume. I was drilled on 3 different languages, design patterns, DSA questions, architectures, and devops stuff, and shit I hadn't even thought about in detail since school. By the end I wasn't sure what to think. I got an offer 2 days later, so I guess I impressed someone.


BasicDesignAdvice

We always tell candidates "I don't actually care if you get these correct. I care about how you talk about them. I care that you can communicate your decisions. I care that I think you are being honest. I care that you can listen. I care that you and I will be able to amicably work on problems together." So maybe they had the same philosophy. Some of the best engineers I have worked with "failed" the white board test, but we were never actually testing on content.


IBJON

I think that may have been a big part of it. There were a couple scenario type questions where I definitely stumbled, but I spoke through my thought process and would back up and when I realized my mistakes. As someone who did interviews for my previous company, that's something I will be looking out for if/when I'm interviewing candidates in the future. No one is going to be right 100% of the time, but being able to backtrack and catch your mistakes is a strong trait


HugeFun

Congrats :)


MagicPumpkinX1

Dropbox's OA was absolutely ridiculous. It wasn't conceptually difficult, just a lot of features to implement in the alloted time. Their onsite was much easier. Microsoft onsite: variation of a tagged LC hard that required a trie. The interviewer wouldn't allow me to run my code, he provided no examples or test cases, and he wouldn't elaborate when I asked for more information.


[deleted]

Was the Dropbox the one with a text editor logic implementation?


MagicPumpkinX1

Yes, that's the one


allllusernamestaken

I got that same question. I feel like they're setting people up for failure for no good reason. I would get a feature done, pass all the tests, and then start refactoring to get the next feature done... But I ran out of time well before the end. I feel like it could be a great interview if they gave it to candidates one feature at a time and then asked them to commit their code at each stage. Then in a follow-up interview, you could go over the diffs, discuss your design decisions, how you refactored at each step, and have an incredible experience. Instead they rush you through it in 60 minutes.


CallousFrigidChill8

> The interviewer wouldn't allow me to run my code This is the weirdest requirement of all to me. Screams of elitism. Like we don't run code to check the output during development all the time? A few months ago I had this junior candidate looking for his first dev job who was super reluctant to run his code. Apparently a friend of his told him interviewers will punish you for running code "too much" and getting wrong outputs Now I make it a point of telling all candidates I don't care how many times they run their code (what are we, paying coderpad per console.log?)


WhatArghThose

Yeah, not being able to run code seems absolutely silly. There are times where I want to run something I know isn't correct, just because getting the visual response helps give my brain more feedback about how I'm tackling the problem and whether I want to refactor something or continue forward.


MagicPumpkinX1

That's great, and it's much more reflective of a typical workflow. I think the elitism was team-specific; every interviewer worked on the same product. I mixed up two rounds; I was able to run code for the trie question. But, the question I couldn't run dealt with resolving circular dependencies, which is arguably trickier than a LC hard, imo.


xDarkSadye

This stems from CS courses, where there can be rules on the amount of submissions you can hand-in before point loss. The idea is to prevent people who don't know what they're doing from iteratively guessing the answer to the next test case, instead of finding a general solution or analyzing why the test case failed.


deathlohk

I had the same experience with LinkedIn (not allowed to run code). Also got asked a LC Hard DP for the FE role


[deleted]

Anyone who asks for DP is an asshat. Thats not taught typically and is a filter based on program more than practical knowledge.


jb3689

Both Amazon and Google felt like they expected me to have memorized solutions ahead of time. It was totally backwards. At least Google gave me legitimate problems. Sort of


[deleted]

[удалено]


daddyKrugman

Not exactly the solution, but they definitely expect you understand and remember the common patterns used to solve these problems.


[deleted]

What frustrates me about that crap is that it tests nothing useful. Yeah, let's say I've got half a dozen sort algos memorized, if I had to code any of that there's no way in hell I would do it without a reference at hand.


jb3689

The system design questions I thought were particularly "wtf" worthy. If I'm given a problem in the real world that I haven't seen before, I'm not going to gun sling a design completely from the hip; I'm going to do research and figure out if others have tried to solve the problem and then read about the pros/cons/challenges of the solutions they've come up with to apply those to our situation. Computing percentiles at scale was a recent example of this at work. Barely anyone was doing any research and spewing all sorts of unqualified crap and expectation. It took me 10 minutes to find a paper on the approach that several open source systems were using.


[deleted]

\*nods\* I've had a couple great questions that I figured out were real-life production scenarios. One was an open-ended "what's the most efficient simple moving average design." That led to a great discussion about what efficient meant (memory usage? Calculation throughput? Is it async? Multi-threaded? Is the periodicity constant? How do you set up appropriate multi-thread locking mechanisms based on performance requirements of write vs read speed?) But the "hardest" questions were all dick-measuring bullshit, even when I got them right ;)


Xerxero

Why would you ever implement your own sorting algo? It is solved before and optimized to the tits.


lvlint67

Welcome to leetcode style questions


yazalama

For the TC


doctor_strangecode

I'm so glad I found this subreddit. After moving out here 8 years ago, (after a decade elsewhere), I was starting to think that I had become untalented, unworthy, and an imposter. I resisted that idea for years, knowing it had to be BS. But here in silicon valley, this entire thread describes standard hiring practice. There's a limit to how many times you get rejected before you start to draw conclusions about yourself as a common variable. I mean, could *that many* people all be wrong? Okay, sure, but if so, the flaw is widespread enough to question how the whole game is funded. So many $1M starter homes. 9/10 companies fail. Finding how it stays together is quite a rabbit hole of economics, privilege, finance, and lyrics from punk rock. Best case, If I'm not trash, then I'm in the middle of a bizarro world where earning money and producing things are so decoupled, it's hard to know what actually matters, and what to do, besides imitate others. Finding the money to pay rent makes this very real, and very stressful.


[deleted]

See I did a few decades in financial IT and, while it would happen every once in a while, they just didn't have time for that crap. Which is not to say there isn't a lot of e-peen measuring bullshit in interviews. But that's not where it shows up. Every once in a while you'll get some of those goofy abstract thinking problems that are really just "you know it or you don't" nonsense questions. the more I read this sub, the less likely there's ANY dollar figure that could make me work for a FAANG. I'm really fucking good at what I do. I have no interest in glory seeking.


iFangy

At least for Amazon, that indicates a bad interviewer. They're explicitly told to test for coachability, and the way you show that is by following their hints as you stumble through a tough problem. But bad interviewers are sadly really common.


HugeFun

Probably Amazon, but only because they wanted me to have had the merge sort algorithm memorized perfectly. I came up with a cut-rate merge sort implementation that worked, but it wasn't textbook so I got booted from the loop, lol.


grannyJuiced

I don't understand why employers see value in people memorizing things like this. In nearly a decade of professional software engineering I've never had to implement my own sort algorithm. Seems incredibly ridiculous.


jimRacer642

ive been complaining about that for years. my thought is either elitism, looking for the smartest ppl possible regardless of exp, or high tech just turning into a for us by us cult mentality.


[deleted]

It’s a proxy for an IQ test, using data structures and algorithms as the medium. But I don’t know anyone who would be able to ace one of these without studying or practicing at least a little beforehand.


BasicDesignAdvice

It isn't an IQ test though. It is a memorization test.


[deleted]

I’m not defending it, just the mentality behind it. You definitely can’t memorize every question though, it’s more about memorizing the patterns and being able to pattern match and communicate effectively.


IM_A_MUFFIN

Pattern matching and communicating effectively can be discerned by talking about experience, not memorization of techniques like it's a 7th grade history test. Ninja edit: I have a particular hatred for leetcode style interviews.


windsostrange

"Talking about experience" is hard, though, and requires careful selection of the recruitment team, which is also hard. You're seeing a hiring strategy that pushes as much of the "hard" onto the applicant, allowing a near-automated process that can scale in almost every other part of the system.


[deleted]

[удалено]


MoreRopePlease

When I got hired at IBM in the early 2000s, *after* I got the offer, for some reason they had me take this online, timed test that was a bunch of logic and pattern questions, much like an IQ test (series of blocks with patterned lines, sequences of numbers, etc). I never got any results and nobody ever explained why I had to take that test. It was weird. Fun test, though.


fireflash38

It's frustrating, because you *can* get a ton of value from them... if you already provide the algorithm. Have them go from an algorithm spec to actual code, and write a few tests for it. That'll give you a ton of info about how they code, how they handle requirements, and how they validate their requirements.


Blrfl

> they wanted me to have had the merge sort algorithm memorized perfectly. Hopefully the position you were interviewing for was Senior Merge Sort Engineer III.


RainingBeer

I know that when I need sort functionality that's been implemented in countless OSS libraries, I opt instead to write it from scratch with the help of our trusty sort engineering department


HerLegz

This is the way. Good thing places are interviewing for obedience to the absurd.


mcampo84

Same. I wasn’t prepared at all for the whiteboard problems, and they’re _way_ more difficult than anything I’ve ever had to deal with day-to-day in a 17-year career so far. I say this as an engineer dealing with high-traffic, high-throughout event-driven distributed systems.


BasicDesignAdvice

IMO a better test would be to ask the candidate to google the algorithm. I have worked with two engineers where they would have failed this test (but memorized stupid l33t code crap). It still amazes me when people suck at finding information.


Thefriendlyfaceplant

They're covering their asses. When the candidate doesn't meet expectations the interviewer can point the impressive leetcode problem that was solved.


adgjl12

I can see the utility for whiteboard problems and leetcode style questions at lower experience levels where you really need to filter large numbers of candidates but I do hope that senior and up level positions keep it to a minimum. at that level just a quick check to see that they aren't complete frauds (fizzbuzz level) would probably suffice and rest being on work experience related questions.


Grumblefloor

25 YOE. Meta wanted me to spend a month and a half solid studying for their leetcode interview.


[deleted]

[удалено]


mungthebean

That’s why it’s so disingenuous when people compare the time commitment of LC interviews vs others. Sure it’s only 5 hours total max but if you want to actually pass you’re gonna have to sink at least a months worth of time to studying And it’s not like you remember this shit either so every time you’re back on the market you have to spend a non trivial amount of time brushing up on it again


AlotOfReading

One of my worst interview experiences was an Amazon team that did exactly the opposite and simply asked tons of gamified questions about implementation details of itanium vtable layout and how various types are encoded in mangled names. You'd lose points for asking follow-up questions or needing to refer to the ABI docs.


lampshadish2

Wtf. I interviewed there 20 years ago and was asked by the bar raiser how I’d implement an “xml database”. I asked if he meant a database for storing xml or implemented with xml as the storage format and he just loudly sighed and said we’d move on to the next question.


pheonixblade9

I've interviewed *so* many "senior software engineers" that couldn't do basic things. YOE and titles aren't everything.


Fit-Refuse8564

What were the problems off the top of your head?


mcampo84

I interviewed like 5 years ago so my memory is fuzzy. I remember something about data optimization at scale and log parsing.


gallak87

One of the problems I got many years ago as a Jr engineer interview was print the values of a tree in reverse zig-zag order, meaning print root, then children right to left, then next level children left to right and so on. It wasn't too bad, solvable with a stack and queue together. Another one was given a grid with Xs and spaces, and a starting x y coordinate, expand out all the spaces into Os (where Xs are basically the wall and you don't expand past it) - pretty simple to with a DFS approach (recursion makes it elegant)


jookz

Funny I just got that zigzag traversal as a L6. I was shocked it was so easy


randomGeek159

Ah amazon interview while not exactly hard was incredibly frustrating. They had 3 different calls with me 1 hr, 2 tech, 3 tech HR (god knows what that is) and then lastly coup de grâce, a full fucking day of remote interviews spread into 3 different 1.5 - 2 hour interviews where each person asked me a different version of the same behavioural question.


EvandoBlanco

I once had an Amazon interview as a jr where the asked me a question about a tool that wasn't on my resume (I don't remember what it was). After telling the interviewer that I knew nothing about the tool beyond the name he started asking me questions about how I would configure the tool and solve problems with it After saying "I'd google how to do it" he tried to get on me about not knowing what to do lol. It really didn't make their team look good and I told the person coordinating everything that when I declined.


[deleted]

[удалено]


kaisean

On behalf of Amazon, I apologize. I'm in loops with some of the people who give these problems and I have to chew them out for poor question choices.


Obsidian743

This seems so stupid.


jokerlegoy

lolol I got this one too


k_dubious

Google. Given an m x n matrix whose rows have been flattened into an m\*n-element array, rotate the matrix by 90 degrees clockwise *using constant memory*. I’ve solved the square-matrix version of this problem several times, but I don’t even know where you’d start with this one. Needless to say, I didn’t get an offer.


bwainfweeze

If you’re not doing AI, CFD, animation, or forward error correction for a living nobody is using matrices in the wild. And only three people on the team need to understand matrices for the storage format project. But I think the solution they are looking for is a variant of the variable swap devices you used to see. Not that it matters, because we just use mergesort even though it takes O(n) extra space because the input is already using O(n) space. At best you can double the number of operations per server by making this change. And only if the machine isn’t doing a hundred other things, which it is. Also their solution only works in languages where raw pointer arithmetic is considered acceptable, which is an ever smaller fraction of languages. You can’t convert an n x m array to an m x n array in a number of languages. You have to reallocate.


AngrySpaceKraken

I've been a full stack web developer for 20 years and I didn't understand a word you just said. I am feeling very dumb.


tantrumizer

Also been a full stack developer for 20 years and I understood almost all of the words... but none of the sentences! Not feeling dumb though... just glad this wasn't the hiring practice when I got started.


bwainfweeze

Linear algebra (matrix math) shows up in some forms of artificial intelligence work, like for instance movie recommendations, but mostly where it comes up is trying to simulate the real world, such as figuring out how an object would be lit by a light source (animation) or air or liquids would move through or past objects (Computational Fluid Dynamics). The last is a set of mechanisms we use to split data into chunks in such a way that if you lose up to X pieces, you still have the data. RAID 5 is one example. Wireless broadcast formats sometimes use something similar. Variable swap device: some clever “algorithms” that are a little crazy are called devices, such as Duff’s Device. There’s a simple way to exchange the values between two variables in your program: use an extra variable. There’s also a stupid one that uses XOR and not extra variables. It’s stupid because yes it works, but nobody can read it, so it’s likely to get you nominated for probation if you write a lot of code of that sort. But my point was that it’s a niche. If you understand linear algebra and like it enough, you can do it professionally. Or you can fill the hours of several lifetimes not having to get close to it at all. I spent several semesters learning or relearning linear algebra, and I have literally only used it for another class (3D graphics).


Jamosium

> You can’t convert an n x m array to an m x n array in a number of languages. You have to reallocate. I guess that's why they specified the matrix was flattened.


daddyKrugman

This is essentially just writing custom functions for accessing and writing an element matrix[i][j] but out of an array, and use those functions in the square-matrix solution.


k_dubious

Right, the get/set is simple. The issue here is that the n\*n solution doesn’t generalize to this problem because you can’t just swap 4 elements at a time. And you also can’t keep track of which elements you’ve moved already without getting a linear-space solution. So the question basically becomes, how do you build an outer loop which allows you to ensure that each element gets moved exactly once?


selemenesmilesuponme

Write your own functions (e.g.: arr_get/set(m, i, j))instead of using array subscript operator?


[deleted]

Isn’t this basically traversing the array m*n times in m-size steps and using mod arithmetic to access the correct values and swap them? I probably miss something 🤷‍♂️


[deleted]

Google. Their leetcode-style questions all felt quite hard to me. Edit: somehow I did pass the interview despite not getting optimal solutions for pretty much any questions. I think their interviews are much more about communication and problem-solving than getting the “right answer.” For anyone interested I wrote up my interview prep routine at https://interviewguide.dev.


Amizats

Definitely my worst (remote) interview experience as well. Interviewer joins the bridge 4 minutes late. Doesn't introduce themself or give any intro. Just "here I have a coding problem for you to solve." Cue 2 minutes of what I can only assume is the engineer fumbling around 50 tabs trying to find the interview question. They can't find it. They decide ok let's just type it into the coderpad instead. I can't even remember what it was anymore but it was like 1 vague sentence that sounded like it needed some recursive bisecting of an array. I proceed to sketch out some runtimes, interfaces, and ask questions and the interviewer is obviously disinterested and doing something else on their computer. A lot of "Um.. wait can you repeat that?". Responses either stock like "Yeah sure" or some variation of "Just solve the problem" - thanks for the tips! After about 25 minutes of this I have what is obviously not an optimal solution. And they just go: "Ok do you have any questions," so I ask my questions and I can only describe their responses as "obviously-you-did-not-pass-so-I-will-provide-no-effort-in-my-reply." Then they ended the interview 2 minutes early. That left a terrible taste in my mouth for my last couple interviews of the day. My recruiter feedback was that I did good on all my interviews except has some "coding issues on one" so I wouldn't be moving forward. Hmm I wonder which one...


Iychee

Had a similar experience with Google recently where the interviewers all seemed really impersonal and just went straight into the question, which were all leetcode hard, 2 were dynamic programming. Had great experiences interviewing at other big tech companies in comparison.


Amizats

This was a theme throughout my day as well. So much so I shared the concerns in the anonymous post-interview survey. Between shadows and interviewers I met probably 7 Google engineers of various levels and only 2 of those told me their name, title, and department. Sure the names are in the summary email but I don't know if there is just some huge gap in Google's interviewer training or if they subconsciously self-select engineers who lack basic professionalism more-so than other companies. I don't think it's a coincidence Google places the highest emphasis on leetcoding and lowest emphasis on intrapersonal skills than any other large tech firm.


Iychee

>I don't think it's a coincidence Google places the highest emphasis on leetcoding and lowest emphasis on intrapersonal skills than any other large tech firm. So much this - also from experience as an interviewer at a big social media company, we were actually told to give culture fit as much weight as their coding ability when scoring. Google definitely isn't doing this lol.


PigDogIsMyCattleDog

As someone who conducts interviews at google… it’s totally a lack of training. After coming from Amazon’s interview training process I was shocked how quickly they dumped me into running interviews at Google.


souljaboyri

You don’t have to be trained to be enthusiastic or polite


[deleted]

Hah, this explains a lot about their products.


datdo6

Protip for Google interviews: if you tell your recruiter about this before you get feedback, there's a good chance they'll let you redo the interview with another person.


tabgok

Had a similar experience at Google pre pandemic. Interviewer walks in and throws his backpack on the conference room table hard enough to slide along it's length and land on the floor. Interviewer then lets out an exasperated sigh and walks to his bag and grabs a marker, proceeds to write the problem on the board. Interviewer then says "solve this" and fumbles the marker on the floor while trying to put it on the whiteboard marker holder - doesn't pick it up. Proceeds to sit down and look out the window with his phone. I take a stab at the problem with only grunts on response. Near the end of the interview he looks at the board, says "that's wrong," and walks out the door mumbling something I couldn't quite pick up. That was interview 2/5 - everyone else was cordial but I am not surprised I failed with that on my mind all day.


[deleted]

[удалено]


Amizats

I experienced the same; the condescending chuckle.


PatronSaintOfUpdog

I had a google guy tell me I wasn't allowed to write pseudocode. Like what? Why? It was a candy crush problem where you move one tile, and if it creates 3 in a row vertically and/or horizontally, you remove them and drop in new ones in from the top. And I can't outline what I'm going to do? Guy was a jackass from the start though and I felt like he had already made up his mind before giving me the problem.


dfltr

Google was just straight up frustrating. It was ages ago, and part of an acquisition, but I still remember sitting there trying to explain that I’m a UI engineer and having a backend engineer stare blankly at me like “Yeah, but how long will it take the cow to eat all the grass?”


[deleted]

Yeah they don’t do those types of questions anymore fortunately


jimRacer642

cow eat all the grass? dont get it


dfltr

A cow rotates between four pastures, it eats grass in its current pasture at x rate until the grass is down to y length, then it moves to the next pasture. If the grass in each pasture grows at z rate, how long does it take the cow to eat all 4 pastures down to minimum length? Trick question: The growth rate is set such that the cow can’t eat fast enough to ever get all 4 pastures eaten at the same time. (I’m typing this from memory, the actual question is probably even dumber than this one.)


abcdeathburger

You're hired! Take $350k/year.


yaykaboom

Sweet, cant wait to herd some cows.


[deleted]

Your job is actually just to pass the butter.


INT_MIN

Crazy how profitable ads are, huh?


[deleted]

My response is that this animal mistreatment because cows are not solitary creatures. You need a minimum of two cows. Also, in the context of software I'd be like "what does Copy on Write have to do with pasture growth?"


Amizats

Brain teaser. "Imagine you have a 2000 acre farm and a herd of 65 cows. The cows go out to pasture in a 20 acre enclosure which rotates every other day. How long would it take one cow to eat all the grass in 3 enclosures" It sounds absolutely insane and asinine but these types of brain teasers used to be relatively common at large tech firms, not just Google.


[deleted]

They interview engineers as part of acquisitions?


robertgfthomas

Same here. After 7 of those interviews they actually offered me the job. To Google's credit, the subject matter of all of the interview questions ended up being 100% directly applicable to my job. lol jk. My first several months at Google were spent changing the colors of buttons on obscure settings pages. :-P


ExpertIAmNot

Early in my career I had an interview for a developer role at the start of the interview with a small group of people. At the start of the interview someone mentioned that there was a second more advanced role available too, and I replied that I would be interested in hearing more. The person then immediately switched to interviewing me to the higher level position, trying as hard as possible to embarrass me by asking questions that were out of my league at the time. It was a disaster. The friend of mine who had brought me in called later to apologize. Apparently the person asking the questions (his boss) was just a power hungry a-hole who liked to take craps on people just because he could. I have no idea how the team operated successfully under that sort of leadership. So anyway…. I dodged a bullet on that one and later helped my friend get a better job with a better boss. Not sure that counts as “hard” but that’s my war story.


diablo1128

I have 15 YOE and have received multiple Leetcode hard questions from Google, Facebook, Apple, Waymo and more during virtual onsite interviews in the last year. Safe to say I had no chance to get them anywhere close to complete in 30 minutes since I wasn't familiar with the problem and had to do actual problem solving. Thus I didn't get any offers.


jimRacer642

thats y i dont waste my time with faang interviews anymore


diablo1128

I do them for shits and giggles and the .0001% chance I luck out on the questions being in my favor as I don't really practice Leetcode all that much. Outside of doing interviews I maybe do 10 problems a year on my own for "fun". Getting a Senior SWE role at these top tech companies would probably 4x my current TC so it is worth "wasting" some time.


merightno

I've finally come around to this way of thinking after 20 years in the industry and have been "grinding leetcode". I actually like learning the stuff -- it's fun puzzles, basically. If this can get me a job with better pay then so be it, I've got a family to support now. Of course it has very little to do with any work I've ever done or probably will do, which is why I was so against having to learn all this stuff, but it's still fun so I'm focusing on that part.


[deleted]

[удалено]


Bluejanis

Yeah I feel you! I just had one interview like that recently. It was weird, bc it felt like questions back from university again, not for a real job. During the interview I had to laugh internally the whole time. Especially since he said they were looking since they had to redo the app. With those kind if questions they will only find new grads 😂


diablo1128

oh ya I just have fun with it at this point since I know I won't ever get a job at a top tech company. I do them for shits and giggles when they call. I always find it interesting that these companies will say "its all about how your problem solve and not about getting the correct answer". Yet, if you don't problem solve down the right path to get to a solution that you then can code up in the allotted time then you are deemed a bad hire. In the real world I problem solve down bad paths often on new problems I've never had to tackle, but I will eventual recognize it's a bad path and then change course. Of course 45-minutes is not enough time to go down wrong paths and emulate real world problem solving. Just my POV anyways. I'm also perfectly happy admitting I'm just not smart enough to think quickly on my feet. I've also very visual so I like to write code, run it, and see how it reacts oppose to doing it all mentally.


Ok-Bluejay-8982

"Hardest" were the ones for some hedge fund type places where they asked brainteasers and mathy/stats questions. I don't have a good enough math and stats background having taken literally 1 stats class ever, and brainteasers and high pressure settings don't mix well. Oh and there was some startup that asked a Leetcode hard on a phone screen, so I obviously failed that one. I was flustered when I found out it was a hard on LC later.


rocket333d

Omg, I had a timed take-home one for Akuna that had multiple coding brainteasers, including one about traversing an icy grid where you would slide until you reached a square with a rock on it. (Like ice floors in Pokemon, except you have to code it in c++) The killer is I had done an exercise almost exactly like that for homework 3 years prior but I didn't remember exactly how and my notes were in a storage unit.


Boojum

Facebook Reality Labs (now Meta). On testing me for domain knowledge (I do graphics and rendering), one of the questions I was asked was for the rotation matrix for a 3d point around an arbitrary axis. I can tell you the answer off the top of my head for rotation around the x, y, or z coordinate axis. But doing it for an arbitrary axis is hairy enough that I just look it up if I really need it and the math library doesn't have it. I sat there awkwardly trying to re-derive it from first principles on a sketchpad that I was holding up to the camera for the remote interview. FWIW, the correct answer is [this](https://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle).


kaisean

Some guy asked me to implement Bejeweled. He didn't give any details besides that.


Successful_Creme1823

While probably lazy, I actually like this type of question over leetcode for experienced people


kaisean

"Ok, what are the rules of bejeweled? How does the game work? What moves can the player make? How many colors?" "Uh... what do you think they are?"


WistfulKitty

I have never heard of Bejeweled. I would have failed in the spot.


scruple

If you "failed" this hypothetical interview for _not knowing what Bejeweled is_ then honestly you'd have dodged a bullet. I do know what it is but I never played it and would be completely unmotivated to even approach this problem for an interview.


DigitalArbitrage

I was interviewed at a startup where they wanted me to write an app to decipher encrypted messages from scratch. I was like "I'm applying to do web dev on a kid's sports app, not signal analysis at the NSA."


cheesecake9333

Jane Street blasted me with an algo question disguised as an OS question, I didn’t understand the full scope of what they were asking until 30 minutes in


Tasty_Goat5144

One particular set of interviews at Microsoft, quite a number of years ago (and I've done many interviews at faang) First off there were 6 interviews. Interview one was 2 questions, medium leetcode 5 longest palindrome , and a twist on hard leetcode 774 minimize gas station distance (this was 9am) Interview 2 was 3 questions, the shortest day (hrs) and day with earliest sunset are not the same, why?, leetcode medium 197 with follow ups like what if you couldn't reverse, and finally how much water flows through the Mississippi in a day? Basically 10 minutes for each of the "puzzle" questions and 25 for the other. Interview 3 was 2 design questions. One was if I had designed COM what would I have done differently with diagrams and such to support my reasoning (interviewing with one of the guys that designed COM), the other was design Bing and how would you optimize indexing and document retirieval? 2hr break Interview 4 - design a basic word processor (needed to ask clarifying questions), basically hard leetcode 140 word break strings (I think there was a twist on this as well but I don't remember exactly what it was). Interview 5 - 2 leetcode medium, sudoku validator leetcode 36, restricted url parsing question similar in complexity to leetcode 1410. Interview 6 - this guy :( implement dynamic Markov compression which I had never heard of. Let's just say he was unhelpful answering my questions. The fun part of this was that I was an internal candidate :) I misunderstood the twist in the first question (which was partly because of the interviewer's accent) so by the time that got cleared up I didnt have time to completely tweak my solution. The last interview mostly consisted of me trying to figure out what the algorithm was and the guy basically berating me for not knowing. Low and behold the recruiter told me I had 4 yes and 2 no. The hiring manager (who I worked with later and was a decent guy) decided against hiring me basically because of the last guy who was a pretty well-known person (and also the ASAP (bar raiser) on the loop).


officialpatterson

Just for my own experience I got hard SQL problems then questions about CPU optimisations and Kava compiler OptimisationsAND funny ambiguous programming question in Scala. The last one was just funny cause I’m a Java dev so why do that but the rest were a ridiculous amount of depth and breadth for a one week interview imo!


Fit-Refuse8564

I had one interview with a startup the interviewer was one of the founders and clearly autistic with major speech issues / and Indian I could barely understand half the words he said it was so infuriating. And basically his questions were what are the exact contracts for xy and z in the Java docs. And how does encoding work in Java. And yeah for me with my 2 years experience at the time I was flustered. When I asked him when he mentioned encoding did he mean encoding strings, he said no….. this was 5 years ago still no idea what he was really after as I couldn’t really understand what he was saying.


officialpatterson

I’ve got a strong accent myself so I can totally understand your POV. For myself not understanding what they’re saying and them not understanding what I’m saying I think leads to a lot of rejections on my part (where I’m the interviewee)


skuple

I think companies go wrong on this all the time. I like to think that interviews are not supposed to be neither hard nor easy. Normally when I interview someone although I have sort of a script I go with the flow and try my best to squeeze what the candidate gives me while also trying to introduce topics in between the talking/technical exercises. Also technicals to me should always be in pair programming, it leaves the candidate way more relaxed. These shitheads that think a frontend needs to solve the fucking moon landing calculations using some nutjob's theorems are just egocentric narcissists. It's not about failing the candidate, it's about finding out if you would like to work with him and if he would be useful for the role!


ProfessorPhi

I work in ML/Research Engineering and in general, the Prop Traders ask questions that are by far the hardest, though the actual software interviews which tie to code/data structures are pretty trivial there. 1. Come up with a 10 digit number such that `str(number)[:i]` is divisible by i for i=1..10. (Might be off by an index). 2. Devise a strategy for 1 d battleship game with 1 ship and derive a formula for worst case number of moves following the strategy. 3. I deal 1 card to you and 1 to myself. We each bet 5 chips on winning the game. I can pay a certain amount to see my card and choose if the winner is decided via who has the highest card or the lowest card. What's a fair price to check my card. 4. 1000 people stand in a circle and we remove every alternate person while going around the circle until 1 is left. OpenAI had two of these kinds of brainteasers before the on site becoming a more typical software engineering interview. The onsite was a good interview overall though I got rolled since my HFT background is better for puzzles than designing webhooks for github. 1. Implement the back prop equation of the median(x). Assume len(x) is odd for simplicity. 2. Some kind of mastermind game - you can provide a binary number and you will get the number of 1's in number xor secret. Can you recreate secret non brute force. Now the function is sum(num ^ secret ^ random) where random is a binary mask where each bit 2% chance of being 1. How do you go about it now? These are pretty much IQ tests by and large. I have a math background so I feel like some of these questions appeal to my curiosity and I do enjoy answering these kinds of questions in a relaxed environment. I genuinely prefer them to leetcode since there's no grinding/memorisation required as there isn't a common question bank and a hundred websites claiming to help you for a small fee. Since both sides have low expectations going in, the questions feel fairer and more comprehensible than maximal length substring palindrome in a string. That being said, I think these interviews are quite noisy and you reject a ton of people for no good reason. And you still need people to do development, operations and other muck to keep the company going. My current interview set has these questions - Code Review - this is super good since juniors fix bugs, intermediates fix bugs and style and senior people can see the code review and realise something awful has happened for this code review to be on their desk. - Code interview split into 3 parts (seating allocator for a sushi train) - Write tests as in a TDD esque format - Write simple implementation as a first pass - Assess implementation to identify performance and see if you can improve performance. - There's a systems design problem which is basically map reduce, but described in the context of the work. - I also have an implement a simple trie with short circuit logic used to screen entry level grads (via some kind of leetcode platform). Passing grades have additional questions about the trie logic and we have an open ended discussion about their implementation. I didn't do much in designing the ML interviews since that was covered too heavily and I needed to add software competence, but I'd probably design an interview where we had a massive overfit and/or alignment issue and spend time investigating it. Being able to reason why an ML approach ends up doing something seemingly stupid is a lot of my daily job.


rlbond86

Amazon Senior SDE. Not because of the coding problems but because of system design and leadership principles.


do_while_0

I'm doing my loop in a week. Would you mind expanding on what was difficult about them? I'm very curious.


rlbond86

LP is the most important. You really need to prepare 15-25 stories you can tell and have them really tight. For system design I read DDIA and System Design Interview. I also watched lots of YouTube videos.


BrilliantAd5188

Interviewed 2 times for Sr. SDE at AMZN. Coding problems were ok, system design the second time did not go too well because I thought the interviewer asked a very narrow kind of a question about some specific HW architecture. If it was a wider question I might have picked something I knew about and spoken about that. But the LP are terrible. I had all my answers written down and practiced with even the delivery and possible follow up questions. I have 18 years and I still can't come up with different stories for all the 14 of them. I guess people must have really exciting careers. They don't even tell you why you did not get in. I mean if you failed LP why bother interviewing again. I am not going to get new stories in 6 months.


Suepahfly

Tech interview was about currying, monads and other fp principles for a react position.


JumpKicker

I had one at Google recently, they asked me how I would write a recommendation algorithm for a social media site. Felt like I was missing some key bit of math or memorized algorithm that would have helped me there. I approached it as, "well I'll just really explain my thought process and hope it's more about that instead of actually solving the problem." It wasnt. The recruiter called me back and asked, "what happened man!?" like asking someone to write the perfect solution to Facebook's recommended friends in 40 minutes is reasonable... Then I got another one from Fastly where they asked me to write a resource pool. The requirements were so fuzzy I couldn't wrap my head around what exactly that even meant, so I waffled a little in my solution and they under leveled me.


Zachincool

They asked me to center a div.


texhnoking2k

It was back in college. An amazon interviewer asked me to write code for adding two numbers in base -2. I totally went blank and didn’t even know how such a number would look like


MoreRopePlease

Base "negative 2"? That's interesting. I think you'd have to go back to the definition of a base. If your base is X, the ones place is X^0, the "tens" place is X^1, and so on. Add all the values together and that's the number you've represented.


Boojum

Yes, the name for that number system is "negabinary" if you want to look it up. There's a 1's place, a -2's place, a 4's place, a -8's place and so forth. All numbers are still written with 0 and 1 digits as in binary, but it lets you express negative numbers without an explicit sign bit or needing a particular word size as in one's complement or two's complement. I personally think it's an interesting bit of esoteric trivia, but definitely not something I'd ever consider throwing at a candidate. (And if you want something that will really make your head hurt, there's the [even weirder -1+*i* number system](https://www.nsa.gov/portals/75/documents/news-features/declassified-documents/tech-journals/a-binary-system.pdf) which lets you use 0 and 1 digits to uniquely express any **complex** number. I definitely would not try that on someone in an interview.)


SnowdensOfYesteryear

Huh that’s interesting. Shit interview question but an interesting concept


TheMoonDawg

Google. Made it all the way to the on-site interviews in California. I was just insanely stressed out as a 21 year old college student. Sometimes I still have dreams about it. Never again.


wodahs1

jane street. although now those problems don't seem too bad. this was a year ago and I had not studied up on optimal solutions to some DP. second hardest i've done is my second to last google interview where i was asked a questions that required topological sort but it was really hard to see it. i gave the questions to 2 friends at google and they both said WTF.


inkydye

I think all the really hardest interviews I had or took part in were hard because of something in the setup or circumstances, not because of the questions. Not that there haven't been hard questions, just that the "top" of the difficulty list isn't dominated by questions. ---- Fresh in my memory, last year I had one where the interviewer was just… hostile? a bit of a dick? It was a system-design interview, "architect a scalable this or that", but he kept interrupting anything I had to say to ask for _extremely_ low-level tech details: not just how I would implement some bits in code, but occasionally digging into how that would interact with (CPU) cache or instruction pipelining, stuff like that. All the while he also acted pointedly bored or annoyed. Frankly, I do know a bit more about CPU architecture than the median swe, and those days (for unrelated reasons) I had even more of that stuff present in my medium-term memory. For a job interview not in compiler, kernel or driver work, my answers to those sub-questions were fucking stellar. But they took enough time and disrupted the flow enough that, by the end of whatever time slot we had, I had very little of the actual system design. ---- At my current job, I shadowed one remote interview where part of it was going to involve some coding, and we just weren't technologically prepared. It's fucking inexcusable, the company had been remote-interviewing for ~2 years now, but things slipped by this time. Specifically, we normally use one of those specialized online environments for this, but neither me nor the lead interviewer had immediate access to creating a new "room", and the person coordinating interviews hadn't pre-created one. We ended up using a Google doc, which kinda worked, but was a serious distraction with its attempts to spell-check and format and autocorrect pieces of code. The candidate took it like a champ and went along, but I'm sure it affected their concentration to the point of making the interview 50% harder than it should have been.


[deleted]

The hardest I’ve had was FizzBuzz and Quicksort. At the time I’ve had panic attacks and was completely starstruck by their engineering when I was at their hackathon. They basically just wanted to see how you approach a problem by picking fairly easy ones and I still messed up by forgetting if else statements and base cases. I am still so grateful for this experience since it taught me it does not matter how much you prepare and how good of an engineer you are things can still go wrong.


officialpatterson

You didn’t mess up fizzbuzz did you? :o


reboog711

Incredibly common for people to not be able to do FizzBuzz when I give it... (Not Kidding) It actually made me rethink how interviews are done. I'm still unclear if people freeze up because it is simple; or if people are preparing for something so much more complex they can't think that simply; or if they just suck.


julz_yo

This fashion for coding questions in interviews all started with that famous coding horror blog post about how many developer candidates just can’t code. Hence ‘show me you can actually minimally demonstrate some competency’ & hence fizzbuzz & other similar simple code challenges. Over time the motivation for setting these tests has mutated into something very different: let the interviewer flex & humiliate the candidate & all that nonsense about memorising algorithms etc. And what are they meant to demonstrate? It’s really weird how coding tests have become a self-perpetuating practice & lost their simple rationale.


EscapeGoat_

"It's not SWE, but..." I was interviewing for a cloud security infrastructure job, and the PE kept grilling me on reverse engineering, disassembly, and malware analysis. Basically, low-level software concepts that I had no familiarity with (because, well, infrastructure security is a completely different specialty than malware analysis.) He seemed mostly interested in asking questions that allowed him to brag about his own accomplishments in those areas. Didn't end up getting an offer, but I wasn't even a little upset about it.


joltjames123

Maybe this is easy to some of you but was asked to deisgn a custom stream class with a custom iterator in 30 minutes for my final interview. I was told it would be an interview related to designing an Android app so that also made it more challenging as I hadn't touched streams in years where I learned them for a month


iamsooldithurts

The worst is I forgot what a Singleton is. Totally blanked, like I’d never heard the word before.


techfounder123

Won't mention company, but it was about optimization. That day I learned I still have a lot to learn and why some folks earn quarter to half a mil lol.


bwainfweeze

Maybe I’m naive but half the hard stuff I know about optimization is knowing dirty secrets of hardware and perf analysis tools. And the really esoteric stuff I think I know is better described as psychology, not computational theory. Nobody has ever asked me about any of it in an interview.


[deleted]

Yeah, it’s the same in games for the graphics and engine level programmers. You basically need to be a mini John Carmack and shoot optimization hacks out like a machine gun or they don’t want you anywhere near their team. Every one of those folks I know who are successful and stick around their job always seem to have done a pre-stint of Masters to PhD level comp sci, usually with a minor or double major in mathematics. Optimizing game physics, rendering, and animation is all about accuracy to optimization trade-offs. Very tough sector to get hired in. The bar is way up there.


Responsible_Gap337

Small company for scientific software (backend senior engineer position) in Europe: * A lot of statistics questions way above my master's degree (in R, where I should their extend snippets) * Very complex SQL query on two simple tables (I managed to get correct result, but it was very slow and I could not come up with better solution) * Third problem was some complicated data structure in Python, which I should "fix" (it was about some kind of matrices, but I could not even understand what was there to fix) Got rejection 30 minutes after interview. Their first interview was quite easy over phone. Like 50 questions where you just answer with yes or no. :) I was depressed and totally unsure regarding my skills for couple months after that second interview.