Live data from Hacker News

Gaming CS Interviews

transitivebullsh.it

141–150 of 163 posts

Re: Gaming CS Interviews

#141
post #88

Earlier quoted context omitted.

If the candidate says they don't know a topic, that is a valid response. It's not worthwhile to ask detailed questions about the topic. That's a sign of an inexperienced and/or unprepared interviewer.

Asking someone "how many prime numbers are there?" seems pretty valid to me. It's an easy question. The two valid answers are: "a lot" or "infinite" (with "more than 10" also being a fine answer IMO). I'm not sure the interviewer was expecting the actually correct answer here (infinite) - lots of programmers don't know that there are infinite prime numbers - I think he was trying to set up for an explanation of an al…

This was a ways in to the interview and I do not think I was being as asshole. I didn't say it in a mean way or anything. I was laughing about it and said I had no clue and wasn't something I was interested in. He came in ready to grill me and I did not then, nor do I now, see any benefit to adversarial interviews.

I said I knew nothing when he asked about number theory. I never tried to cover up anything in my gaps. The interviewer proceeded to ask questions about it.

I don't have a CS degree, I have never claimed I did or that I enjoy or even want algorithms heavy jobs. This was an internal tool to manage datacenter component ordering.

I would never ask a bunch of questions about something borderline esoteric to someone that has already said they don't know anything about the field. I have had plenty of interviews where I am doing the hiring and when I realize the candidates are in over their heads I politely ask some fielding questions (like, do you know number theory is great, and fair) and then just conclude the interview kindly or toss them a different set of questions depending on how the interview has been going.

Re: Gaming CS Interviews

#142

>Many companies in the tech industry have started moving away from traditional, technical whiteboard interviews, because they tend to bare little relevance to an employee’s day-to-day work What companies? I have literally never interviewed anywhere that didn't run the standard cargo cult gamut.

The article is 5 years old. At the time, a lot of non-FAANG companies were moving away from this style of interview in favor of take home tests. That didn't last long.

Now they do take home tests and whiteboarding. Yippee!

Re: Gaming CS Interviews

#143

> Strings are just arrays of characters, so any algorithms you learn for arrays also applies to strings. I.e. don't believe the anti-American propaganda on Unicode.org.

This is roughly true. Obviously with UTF-8 or UTF-16 you'll have O(n) access times for an arbitrary code point, but you can always convert to UTF-32 and that encoding is just an array of code points so you get O(1) random access back.

UTF-32 !== UCS-2 and makes no guarantees about fixed code point size like UCS-2 did (and is considered deprecated because of that). There's an encoding issue with UTF-16 extending past the current "Astral Plane", but neither UTF-8 nor UTF-32 have that problem. We have no current idea at all what we might ever think to encode past the "Astral Plane", but that doesn't mean you should ever assume UTF-32 is UCS-2 and free of surrogate code points.

Re: Gaming CS Interviews

#144

Earlier quoted context omitted.

Obviously I don't get the question. But, two switches, two lightbulbs, can't you just turn one switch on, leave one switch off, and see which lightbulb is lit? You only interact with each room once. Unless there's some funny business going on? Edit: oh, the bulbs need to be off at the end? Nah

I guess the idea is you turn both on for a while, then turn one off. The hottest one is the one that was recently turned off

but then wouldn't one of the switches still be on? therefore one of the lights would be on, so you could correlate which switch was on with the on light?

Re: Gaming CS Interviews

#146
post #20

Earlier quoted context omitted.

In such situations I tend to ask that question directly: "It was my understanding that you looking for someone who will help you with Django tooling. I can do that. Although number theory sounds interesting, I never felt the need of diving into it in order to solve any Django-related issue. I would be happy to learn more about how you think number theory relates to Django tooling should I start working here." When pe…

This doesn't always work - many software engineers believe that you should be a bit of a generalist. However, if you ask the question about Django tooling, you are at least keeping the door open. Asking the "what role does number theory play" question is a way to send a message and lose your chance at the job, but so does "optimus prime."

You SHOULD be a generalist for software development, but I would argue college level number theory is not a "general" mathematical thing. For example, in my college degree program, I was expected to be broadly introduced to math and science concepts. To that end I took low level physics, chemistry, and math classes, including calculus, discrete math, and linear algebra.

I was not expected to know how to calculate the static load on bridge segments like my engineer friends, but I was expended to learn the basic motion equations and be able to apply them. Equally, I did not take organic chemistry, though I had the option. I can balance an equation but not tell you what an "amine" or an "aldehyde" is.

My college's opinion, and one that meshed really well with my personal opinions on learning, was that you are better off having some surface level understanding so when you are asked to implement some sort of very complex algorithm about a domain specific problem, you will be better equipped to understand the domain expert and understand the common pitfalls that you should avoid.

My friend was a math major (and other majors) so he took number theory. I didn't totally understand all the things we talked about, but thanks to my understanding gathered from other higher level math classes like calculus and discrete math, he could dumb down his information a little less, and I could follow things like how it was funny when he was able to "prove" something on a test by doing every possibility, since there were only 24 possible outcomes, and why that displeased his professor.

Re: Gaming CS Interviews

#147
post #2

> Guidance is expected; a great interview should be more of a conversation than a one-sided question and one-sided answer. I had a particularly awful interview at Google where the interviewer scoffed at me needing assistance. And in an interview at Twitter with a xoogler they asked me what I knew about number theory and I said "nothing" and they said they majored in it and proceeded to ask me number theory questions.…

My google coding interview was much l33t. He asked me a graph search question. However at the time I didn’t know what a graph was. I’m self taught. But I did understand the ask, which was to find a path through a series of locations. I also happened to have some experience with slime mold finding optimal paths and once even tried to simulate it using a genetic algorithm. That was the best solution I could come up wit…

In my interview for my current job, I was asked to implement an algorithm that finds the edit distance between two strings. This is a classic algorithm, one that I had learned and implemented about a year before in my algorithms class, and loved for its utility, but I could not remember a specific little detail!

However, neither did my interviewers! So we worked together trying to re-derive the algorithm from the problem, the expected output, and the rough idea of how it worked. We did not succeed, but we did demonstrate an ability to work through things together, an ability to stand up and point out incorrect things, an ability to reason through a problem, etc. I got the job.

Re: Gaming CS Interviews

#148

Earlier quoted context omitted.

> and its not an optimal solution. Therein lies your problem, and you can see it writ large on everything Google does. Because they're so dominate at so many things (search, video hosting / streaming, etc.), anything that doesn't fall under "optimal solution" and "immediately profitable" goes to the waste bin near immediately. There are entire websites dedicated to how fast Google kills a project that could have been…

As a counterpoint to this, I interviewed at Google and was sure I had flunked. On every one of the follow-up questions, I didn't produce a working solution, let alone an optimal one. I still got the offer. Truthfully I do attribute much of it to luck. From what I have heard, most people had more difficult questions than I did, often with more strict interviewers. It's a high variance process for sure. If I were to in…

I did okay in my interview with google but was passed over. The truth is they are always interviewing, so I think being hired has more to do with the timeframe of your interview than anything else. It's very similar to how the military drops many "requirements" of a soldier when what they need are bodies.

At some points, google is spinning something up, and at those points they need more devs, so they hire more of the interviewees. I think the rest of the process is basically random, based on the gut feelings of an entire team of random people.

Re: Gaming CS Interviews

#149
post #22

Earlier quoted context omitted.

Every squiggle language transliterates to 7 bit ascii without loss of fidelity anyway. ¯\_(ツ)_/¯

Of course, eg. {lefthandraised}\_({eyes}{slantedmouthkindabelowtheeyes})_/{righthandraised}

~\_:)_/~

Re: Gaming CS Interviews

#150
post #9

Earlier quoted context omitted.

> If you're using an interview that bares 'little relevance to an employee’s day-to-day work' and that requires dedicated prep to pass, then what you're doing is optimising a process for finding people who will tick boxes and jump through meaningless hoops. You mean all those jobs requiring college degrees? Or is that different somehow? The main reason is that difficult tests has positive signal even if they are part…

YMMV but in college I learned lots about - having to work together with assholes towards a common goal - how sometimes you can cram for a deadline, but sometimes you can't - how, often, how well you do is just politics and networking Obviously fuck everything I learned about however pushdown automata worked. That's not relevant to my career now. All the above still is.

Meanwhile I learned about SQL, statistics, product development, industry best practices, algorithms both optimal existing ones and designing new ones, data structures both how to make one and what makes good ones, and how operating systems are designed and function. Specifically, I wasn't just shown a vague example in a twenty minute youtube video, I was made to demonstrate my knowledge in projects and tests that were designed by an intelligent domain expert and educator to separate the wheat from the chaff and often did just that.

I use most of that every single day, and I'm basically a web app developer. Can you learn how to program from learning yourself? Sure. Einstein taught himself calculus, but that doesn't mean most people can adequately teach themselves difficult subjects.

Writing a for loop might not be a difficult subject, but understanding what makes a for loop slower than another method, or why maybe you don't need to loop at all if you engineer things differently is an entirely different thing.

Post reply on HN