欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

什么樣的問題是好問題

夏志豪2年前13瀏覽0評論

什么樣的問題是好問題?

C++在不同領域有不同的技術棧,不同職級有不同的難度和層次。

先說領域。

以高頻交易為例,最核心的目標是極限追求低延遲,因此空間復雜度、代碼健壯性、吞吐量都可以犧牲。除此之外,還需要金融領域的知識。

以游戲引擎為例,你需要啃十幾本圖形學書,沒日沒夜地自己從頭開始寫shader、光照、材質,甚至腳本引擎、C++反射工具等工程細節,可謂是燃燒生命。

以存儲系統為例,又細分為內存數據庫(redis)、全文檢索(sphinx,ES)、大規模分布式kv store(spanner、bytekv)、分析型數據庫、容錯強一致性數據庫(zk,etcd)、非主從架構的分布式數據庫(Cassandra,Dynamo)、關系型數據庫(innodb,Oracle)。如何克服寫放大,如何避免data loss,如何做data replication,如何做sharding,如何實現secondary index等等,不同類型的存儲系統有不同側重,也有不同的trade-off。

我在AI Lab招C++程序員,如果崗位偏引擎,會問關于微處理器架構、GPU優化、CUDA編程、高級并行算法、前向推理框架、CQT特征提取、SIMD、視頻編碼解碼等問題。如果崗位偏服務,就會問分布式存儲、網絡通信與rpc、操作系統、log-structured database(比如rocksdb)、文件系統等。要知道lab里的工作領域已經非常接近,就是AI服務的落地,本質上追求的是離線業務的高吞吐和高SLA。如果是不同大類的C++崗位,那差異會更大。

除此之外,還有嵌入式開發、工業軟件開發、音視頻等領域,都各有各的技能棧。

再說層次。

實習生、應屆生的問題和社招FTE的問題肯定不同。對低職級崗位的問題一般注重CS基礎和智力水平。即使領域知識和業務知識不熟悉也可以培養。對于高職級崗位的問題則注重對過往經驗的挖掘,在討論技術問題時,期待的是完整的解決方案。如果是算法核心的解決方案,可與業界、學術界sota標準進行對比,解釋思路的novelity。如果是產品化的解決方案,則要熟知國內外市場上的主要競品。

面試時遇到Top school CS科班出身和普通985轉專業到CS碩士的,出題的難度也不同。事實上根據我的經驗也只有最頂級學校的CS科班學生能讓我放心地跨越好幾個抽象層次追根問底。其他情況下,問得太深,對方連題干都聽不懂,場面反而尷尬,還不如多交流交流項目經歷,然后出一道難一點的算法題,好讓面試者在現場編程能力這方面彌補一下之前基礎上的劣勢。當然更可能的結果是心態崩潰連編程題也沒發揮好。