Earlier quoted context omitted.
And then, the world developed robust, well-maintained, open source libraries that do all of that for you. Now, in 99% of commercial software engineering, you don't actually need to know any of those details, in the same sense that you no longer need to know exactly how many transistors and diodes are used to build the adder on the CPU. It simply no longer matters in almost all cases. Your time is much better spent mo…
"Now, in 99% of commercial software engineering" Whatever this thing... this... stringing together a 100 random github projects to get a webpage that kinda of works about 80% of the time is called -- please let's agree not to call it "software engineering".
Google's “Director of Engineering” Hiring Test
961–969 of 969 posts
Re: Google's “Director of Engineering” Hiring Test
#962So… someone care to explain to me where I'm going egregiously wrong, apparently? Because, at least on my machine with the code I spewed out quickly, the Kerningham way of counting bits is ~6x slower than a lookup table (including generating the table itself). http://sprunge.us/IIEH The Kerningham way code seems faster for very sparse arrays (i.e. only one bit set per uint16), but slower otherwise.
Re: Google's “Director of Engineering” Hiring Test
#963Earlier quoted context omitted.
My father is a civil engineer and late in his career, he interviewed for a senior position at a construction company. He figured out that the interviewer didn't know what he was talking about early on the interview and confronted him with that. The interview came to a end, he was put in touch with a senior engineer at the company. He didn't take the job for other reasons. I don't think this kind of rubbish would fly…
A civil engineer is a professional engineer. I would assume your father is a certified PE [1]. This rubbish flies in our industry since we are not professional engineers. [1]: https://en.wikipedia.org/wiki/Principles_and_Practice_of_Eng...
Re: Google's “Director of Engineering” Hiring Test
#964Earlier quoted context omitted.
Could you explain how static typing makes less safe programs?
I have yet to see a large static typed program that didn't -- somewhere -- run into the limits of static typing and contain a set of workarounds, using void* or linguistic equivalent. That's code a dynamic language doesn't need. The only code you can be sure isn't buggy is code that doesn't exist.
* The object returned no longer has member/property x, it is obtained by other means;
* The endpoint returns list of such objects.
How sure are you that tests in dynamic language cover these cases? My experience shows that tests very rarely get designed to anticipate data changes, because data is driving test design. Which is more likely for a test: a) to test whether object returned contains keys x, y and z; b) to check if the object returned is_list() (see appendix)?
Static typing covers such cases. Static typing is not something that magically saves oneself from shooting them in the foot, but is nevertheless a safety tool that CAN be used. It is of course a burden if one does not intend to use it and that is the core of the debate.Fun thing: in the second case if your code manages to convert input list to a map and assign one returned object to a key that coincides with the removed property and map access looks syntactically the same as property access (a very specific set of assumptions, though), the bug can butterfly quite deep into the code before manifesting :)
Re: Google's “Director of Engineering” Hiring Test
#965Earlier quoted context omitted.
And then, the world developed robust, well-maintained, open source libraries that do all of that for you. Now, in 99% of commercial software engineering, you don't actually need to know any of those details, in the same sense that you no longer need to know exactly how many transistors and diodes are used to build the adder on the CPU. It simply no longer matters in almost all cases. Your time is much better spent mo…
"And then, the world developed robust, well-maintained, open source libraries that do all of that for you. Now, in 99% of commercial software engineering, you don't actually need to know any of those details.." And that, ladies and gentlemen, is how we ended up with npm.
Re: Google's “Director of Engineering” Hiring Test
#966Earlier quoted context omitted.
(Very) embedded developer speaking here. What's this L1 cache you speak of?
It's level 1 CPU cache, the fastest (and smallest) cache. It caches both instructions and data. https://en.wikipedia.org/wiki/CPU_cache
Re: Google's “Director of Engineering” Hiring Test
#967Earlier quoted context omitted.
Thanks, I am realizing now that it was SRE. All I can say is I'm definitely a fan of how we interview SWEs and I'm sorta bummed this is how SRE interviews go. TIL.
Are SWE and SRE interview the same? I thought they were different enough job descriptions that it would require different interview questions.
Re: Google's “Director of Engineering” Hiring Test
#968Earlier quoted context omitted.
I agree. Why the hell would you ask someone at that level basic questions like fizz buzz? It's absurd. I also tend to shy away from asking coding questions in interviews, they don't tell me much about aptitude for critical thinking and culture fit. Skills can be taught but culture is much harder. ... But I'm not saying to throw in some questions that don't prove that they are actually competent, just be casual about…
The question is, "why wouldn't you?" If the person is competent they will dismiss it in seconds and you can move onto something more interesting.
Re: Google's “Director of Engineering” Hiring Test
#969Earlier quoted context omitted.
The number of web devs I've encountered who regard my ability to talk HTTP over telnet as black magic makes me sad.
In all fairness, if you can talk normal HTTP 1.1 over telnet with some service, someone configured TLS wrong ;) And if you can talk HTTPS over telnet unassisted... well, I am truly impressed.