"Given a string S and a set of words D, find the longest word in D that is a subsequence of S." Found under "Foundations of programming" -- this is exactly the type of problem I'd expect as question one under this section. When it's made by Googlers, that is. I make a lot of cool stuff day to day, and usually that requires a lot of code and knowledge about programming and topics that are rather advanced (currently I'…
Google Tech Dev Guide
211–220 of 250 posts
Re: Google Tech Dev Guide
#212Earlier quoted context omitted.
In case you think these questions are not actually asked in Google interviews, I should add that I was asked this very question in Google SDE interview just 6 days ago. I failed to answer this and was consequently rejected. Also, the interviewer asked me nothing other than this question. Nothing about the breadth of work that I have done in different sectors, my interest/passion, personal projects etc. I was so upset…
If you couldn't solve that question, maybe you shouldn't work at Google... def valid(S:str, word:str) -> bool: s = S for l in word: pos = s.find(l) if pos == -1: return False s = s[pos+1:] if not s: return False return True if __name__ == '__main__': D = ["able", "ale", "apple", "bale", "kangaroo"] S = "abppplee" in_s = {len(w): w for w in D if valid(S, w)} keys = list(in_s.keys()) sorted(keys) print(f"longest is {in…
Re: Google Tech Dev Guide
#213Earlier quoted context omitted.
(Disclaimer: I work at Google). This is going to sound like a humble-brag, but it isn't, I'm trying to give some life advice based on my experience: I have used "CS" algorithmic thinking on multiple projects, I've even used facets of abstract algebra and number theory from my Math degree to further my career and it lifted me out of poverty. Here's an example. A few years ago, I was researching ways to crunch down the…
You’re the guy writing compilers at Google, so ya you’re the exception my friend.
My day to day work involves lots of statistics[1], despite being an unsexy role (SETI), and I'm of the opinion that most people at Google should have a better understanding of statistics, despite by all accounts, the average statistical knowhow of my coworkers being well above average.
A coworker is working on code generation and parsing, so his automata know-how is coming in handy too.
And that doesn't even touch on the need to have some of this foundational knowledge when dealing with tooling like spanner or many of our other tools for dealing with data at scale.
I'd generally agree that one person need not know all of it, but a familiarity with the basics in all of these areas is necessary, especially if, as another user mentioned, you want any level of internal mobility.
Re: Google Tech Dev Guide
#214Earlier quoted context omitted.
To offer an alternative viewpoint: I have a degree in pure mathematics from a highly ranked institution. I published research as an undergraduate. I went to multiple REUs. I participated in the Putnam and similar competitions. I read CLRS in 9th grade and didn't even bother taking an algorithms course in college. But even I find that these sorts of questions are more gatekeeping than anything else. That's not a persp…
I interview for my company, too, and don't ask these kinds of algorithm questions because the reality is these problems aren't typical of day-to-day work for the positions we are hiring for. I'm interested to know what your interview process is. If you wouldn't mind sharing, how does the interview process work at your company?
We don't have the interviewer watch everything they're doing over their shoulder. They're allowed to just work on the problem on their own.
Re: Google Tech Dev Guide
#215I have been putting off a Google interview for a whole year now. I have real experience building Cluster Filesystems, Distributed Caches, TCP/IP Control plane software and low latency Ad platform for more than a decade. Sounds good on paper, but I can guarantee I cannot solve most of these puzzles without actually solving them beforehand. Why? Because I do not have cycles or time to solve these on my own. I have a sy…
> Family obligations do not help. You've put your finger on it right there. These type of interview questions are biased toward candidates with plenty of free time and few obligations. This effectively has ageist, sexist, and classist[0] consequences. [0] Racist as well, to the extent (which is considerable) that class is entagled with race.
Re: Google Tech Dev Guide
#216Did a quick once over on the lessons titles, didn't see anything mentioning SOLID or programming patterns and paradigms.
Re: Google Tech Dev Guide
#217"Why not follow one of these paths curated by university computer science faculty and Google engineers?" The fact that Google equates their engineers with university faculty is either incredibly delusional or arrogant.
Re: Google Tech Dev Guide
#218Earlier quoted context omitted.
This isn't really true. I've asked a few different interview questions in my time, and the number of candidates who have gotten the "optimal" solution currently sits at 0, to any of the questions. Despite this, I've suggested that we hire some of those "wrong" answer candidates. And given the interview feedback I've seen, I'm not the only one like this.
> Despite this, I've suggested that we hire some of those "wrong" answer candidates. And were they hired?
Re: Google Tech Dev Guide
#219Earlier quoted context omitted.
You’re the guy writing compilers at Google, so ya you’re the exception my friend.
But he's not that unique. One of my 20% projects recently required reading up on specialized parallel parsing trees/regular expression generalizations. I was able to sketch an algorithm structure that I thought should work, and some quick searching brought me a to a paper that formalized it (I wanted a 1-pass way to match a set of subtrees on a large tree, where each subtree could be vaguely regular-expression-y, suc…
Consider how Bazel must build and test the world’s largest(?) monorepo at scale incrementally on every commit.
Perhaps this is an artifact of Google’s size, but a lot problems turn out to be “well, this would be simple if our input was a million items, Unfortunately it’s a trillion items” and now all of a sudden asymptotic complexity matters.
Re: Google Tech Dev Guide
#220Earlier quoted context omitted.
(Disclaimer: I work at Google). This is going to sound like a humble-brag, but it isn't, I'm trying to give some life advice based on my experience: I have used "CS" algorithmic thinking on multiple projects, I've even used facets of abstract algebra and number theory from my Math degree to further my career and it lifted me out of poverty. Here's an example. A few years ago, I was researching ways to crunch down the…
> It turns out optimally computing the LZ Distance Metric requires efficiently solving the Longest Common Substring problem, which can be solved with a generalized suffix tree in O(N + M) time. Imagine you walked in to your Google interview, with all of the experience from improving the size of GWT output fresh in your mind, but before you "ran into the 'LZ Distance Metric'". They sit you down and say "LZ Distance Me…
I know a lot of people like this, which is why I don’t like whiteboard interviews.