Have an upcoming onsite with Google at HQ for an L5 SRE-SWE role. What can I expect the day to look like? What should I focus on studying/refreshing on?
Current TC (not FAANG): 300k
3 algorithms + 1 nalsd + 1 googleyness round.
Algorithms bar is same as SWE bar.
NALSD is absolutely crucial imo since you’re aiming L5. Know your system design really, really well along with “numbers every computer programmer should know”
Each round would be 45 min.
New
qdvF37 OPAug 22, 2019
Thanks for the detailed reply.
I'm self-educated and algorithms are not my strongest suit; should focusing on leetcode for the SWE role be an apt path for studying, or would you recommend alternative resources?
I feel fairly confident with NALSD, I've been focusing on HA system and application architecture for a few years.
Thanks for the tip about brushing up on numbers.
For algorithms, you have to be strong with backtracking, graph algorithms, string algorithms, trees etc. You don’t have to necessarily do leetcode, but for most people, doing leetcode helps improve their problem solving skills. Google generally refrains from asking leaked questions.
By numbers, I mean this -
Nalsd deals with very concrete non abstract designs. If i give a requirement like
“Design a blabla service that handles 10 billion requests a day, 20% of those being writes, and 80% reads with < 8 ms latency. You have machines with 32 GB RAM, 1 TB SSD or 3 TB HDD, 1 Gbps ethernet”
You should be able to argue about the number of machines you’d need, bottlenecks and justify latencies in addition to designing an abstract system.
For example, you should know the disk read latency to argue about how long would you take to read data from your machines (or) argue about datacenter round trip for something like paxos and include that in your calculation.
3 algorithms + 1 nalsd + 1 googleyness round. Algorithms bar is same as SWE bar. NALSD is absolutely crucial imo since you’re aiming L5. Know your system design really, really well along with “numbers every computer programmer should know” Each round would be 45 min.
Thanks for the detailed reply. I'm self-educated and algorithms are not my strongest suit; should focusing on leetcode for the SWE role be an apt path for studying, or would you recommend alternative resources? I feel fairly confident with NALSD, I've been focusing on HA system and application architecture for a few years. Thanks for the tip about brushing up on numbers.
For algorithms, you have to be strong with backtracking, graph algorithms, string algorithms, trees etc. You don’t have to necessarily do leetcode, but for most people, doing leetcode helps improve their problem solving skills. Google generally refrains from asking leaked questions. By numbers, I mean this - Nalsd deals with very concrete non abstract designs. If i give a requirement like “Design a blabla service that handles 10 billion requests a day, 20% of those being writes, and 80% reads with < 8 ms latency. You have machines with 32 GB RAM, 1 TB SSD or 3 TB HDD, 1 Gbps ethernet” You should be able to argue about the number of machines you’d need, bottlenecks and justify latencies in addition to designing an abstract system. For example, you should know the disk read latency to argue about how long would you take to read data from your machines (or) argue about datacenter round trip for something like paxos and include that in your calculation.