That's true now, but it doesn't have to be. Before the retina MacBook Pro, the MacBook Pro used to be one of the easiest laptops to service. Opening it up, it was very easy to access almost every component.
Two things:
1) proto buffers intentionally don't allow null values; values that aren't set will return a default value
2) gRPC uses proto3, which does not distinguish between a field unset and a field set to the default value
The parent commenter is referring to the Half Dome permitting system. There's no limit on people entering the park daily (which is why it's so incredibly crowded). They do cap the number of people allowed to ascend Half Dome each day.
There's a lottery system, then a small number of tickets are given out on a first come first serve basis from the ranger stations on the day of.
(Also a Googler, not GP commenter. Speaking just for me.)
Yes, I have. Generally this was a case where the candidate had a good grasp on an approach to the question by the end of the interview but wasn’t able to write it due to time constraints.
I see interviews as a dialogue between me and the candidate where I give them hints in the right direction when required. Very few candidates require 0 hints.
State sales taxes can't really be compared to a VAT. A VAT gets collected at each step along the way from raw materials to final product; sales tax is only collected at final sale.
I like mountain climbing, skiing, rock climbing, sea kayaking, hiking, snowshoeing, backpacking, mountain biking. Many of these things are only possible near mountains. I live in Boulder currently, but grew up north of Seattle, and it really does provide more variety in outdoor pursuits than just about anywhere.
I see where you're coming from on some points, such as complex character sets and caching. But runtime and spacetime complexity are basic concepts which should be taught in any respectable CS degree program. Looking for edge cases and writing good tests ought to be taught as well. Also I'd hope parallel algorithms would get some time in a CS degree, but that one could be somewhat negotiable.
Important to note that at this point they're only reading one bit at a time from kernel memory, but it could probably be changed to read more--exactly how many branches it could compare before the mis-speculation is detected is not discussed, and that could be an area for large speedups in the attack.
It's interesting to read someone else thinking that - I am about to graduate with my CS / Engineering degree, and I've tried to take classes which benefit from university instruction. The courses I've chosen and found most valuable have essentially been the ones you named: compilers (we wrote a compiler for a C subset), operating systems (we wrote a simple operating system with multiple processes), networks (implemented the TCP stack in userspace), and algorithms.
I haven't personally taken organic chemistry, but several of my friends who have taken both organic chemistry and algorithms have said that algorithms is by far the harder of the two. So I tend to disagree that biology and organic chemistry are harder than anything in CS.