見出し画像

ドメイン知識の問題集や勉強の仕方(随時更新)

ドメイン知識は幅広いのでどこまで勉強すればいいか思った時のリスト。勉強の仕方色々あるが個人的にわかりやすいなと思ったものも書いときます


ソフトウェアエンジニアとしてやりながらrecoというエンジニア向けの転職プラトフォームを作ってます。現在は数社のテック企業のサポートをしております(https://jobs.reco.sh/) 

reco経由で申し込むと面接に備えるためのサポートが得られます。面接対策のヒントや質問例、模擬面接などを通じて、自信を持って次のステップに進む準備ができます。

申請リンク:https://airtable.com/appDsRlN6LTSiW0a3/shrP9nwF925b1d5ZJ 


Network

復習

問題集

  • 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

復習

問題集

  • 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

この記事が気に入ったらサポートをしてみませんか?