先講technical interview
通常first round一般好簡單,大概係呢D:
Python:
flask Django
dict
generator
tuple
async
multithreading
numpy pandas
luigi/airflow
GIL
DB:
transaction
performance tuning
indexing
join
Union
Design:
REST
streaming
OO:
inheritance
method
class method
attribute
Linux:
command
問題好簡單,所以係答正確答案係唔夠
例如問咩係dict,你就唔好答key value pair咁簡單,要講hashmsp, bucket, lookup time O(1) when size of kv pairs << bucket size, not O(1) when large amount of kv pairs
總之盡量鳩up,因為你唔鳩up佢就有機會問follow up問題,up唔到深入就舉例,以上每樣野諗一個use case, 基本上一定過關
之後second round design interview:
通常問你點design某一個system
跟實呢條formula基本上夠個關:
一開波你就話有3個solution
1) 唔scaleable既solution,所有野in memory 做晒
2)之後拆番開services,D野冇state, restful
3) 鳩搵D位加D streaming 元素入去
去到2)3)佢只會challenge你3樣野,consistency, performance,同fault tolerance
記住transaction, async, db replication,彈下OLAP,OLTP等等既terms
記住consistency, performance,同fault tolerance 3者冇可能並存,佢不斷challenge你只係強人所難,同佢講trade off,要睇requirement
基本上一定過關