
ドメイン知識の問題集や勉強の仕方(随時更新)
ドメイン知識は幅広いのでどこまで勉強すればいいか思った時のリスト。勉強の仕方色々あるが個人的にわかりやすいなと思ったものも書いときます
ソフトウェアエンジニアとしてやりながらrecoというエンジニア向けの転職プラトフォームを作ってます。現在は数社のテック企業のサポートをしております(https://jobs.reco.sh/)
reco経由で申し込むと面接に備えるためのサポートが得られます。面接対策のヒントや質問例、模擬面接などを通じて、自信を持って次のステップに進む準備ができます。
申請リンク:https://airtable.com/appDsRlN6LTSiW0a3/shrP9nwF925b1d5ZJ
Network
復習
TCP, UDP: High Performance Browser Networking - Ilya Grigorikの2~3章
(m)TLS: Liz Rice - The Go Programmer's Guide to Secure Connections
問題集
Explain TCP vs UDP
What is an IP packet?
What are some TCP optimization you can do
What is TCP three-way handshake
How is HTTP/2 differ from HTTP/1.1
Explain HTTPS vs HTTP
How does TLS work
What is a mutual TLS (mTLS)
What does /24 in 10.0.0.5/24 mean
What is IPV6 for
How does DNS work
What happened when you open an URL in a browser?
CPU
復習
問題集
Explain process vs thread (kernel perspective)
How to kill a process
Process is dead. What can you do to debug?
What is a processor
What is the CPU clock rate
Explain CPU vs GPU. What are some GPU use cases
What is a kernel scheduler
What is a system call (syscall)? Can you give some examples of them
Explain kernel space vs user space
File Systems
復習
- Systems Performance: Enterprise and the Cloud, 2nd Edition - Brendan Gregg(和訳): Chapter 8
問題集
What is an Input/Output (I/O)
Explain the data structure inode
Explain symbolic link vs hard link
Explain random vs sequential I/O
Explain blocking vs non-blocking I/O
Programming Language
問題集
What is a garbage collector? Does your most familiar programming language has a garbage collector? If yes how does it work? If not how does it deal with memory growth?
How do you achieve concurrency with your familiar programming language? How to prevent race conditions
What is a singleton
Explain dependency injection
Why do we need a connection pool when dealing with TCP(database)/HTTP(HTTP server)
Data structure
復習
Designing Data-Intensive Applications - Martin Kleppmann (和訳): 3章 Storage and Retrieval
問題集
Explain the time complexity for a lookup in a hashmap. Explain some of their use cases
Explain the time complexity for a lookup in a binary search tree. Explain some of their use cases
What are suitable data structures used to maintain the database index
Database
復習
問題集
Explain ACID
Explain database transaction isolation levels
Explain the index and primary key in SQL.
Explain SQL vs noSQL.
How do you scale the database?
Explain database replication.
What is a database deadlock?
Distributed system
復習
問題集
What consensus algorithm do you know? What are they used for
What is a split brain in a distributed system
What are some load balancer algorithms that you know
How does consistent hashing work? What is their usage in a distributed system
How does a distributed lock work? What are they used for
Virtualization
復習
問題集
Explain container vs virtual machine
Can you give me some examples of Linux namespace?
Misc
問題集
Zero downtime deployment
Socket takeover