實習 | Momenta C++開發工程師 實習
作者:mutexlock
鏈接:https://www.nowcoder.com/discuss/148527
來源:牛客網
不記得什麼時候,怎麼投的momemta了,一直以為沒有投。。上週突然收到面試邀請,他們公司說是有個簡歷池,對每個所有組公開。我投的是C 開發工程師的實習,有四個組約了我面試,19.00-21.15,但是被第一個面試官放了鴿子,所以面了三個組。
一面 b
先是自我介紹,然後聊了下項目,講了我那個簡易內核的進程線程實現、文件系統結構、怎麼實現同步等等。然後考察了一下Linux裡面線程的基本使用,感覺難度不大。問了一個怎麼把線程綁定到指定的CPU,這個不清楚,後來查了下,linux裡面可以用sched_setaffinity來搞定。再就是聊了下多人開發怎麼協作,遇到了觀點不一致的情況怎麼解決等等。後面就是提問環節了。
他們組說是C 做L4無人車系統的。
一面 c
自我介紹,coding了三道題,都是郵件發過來的:
- 給一個32為整數,寫一個reverse函數。reverse(-123) == -321這種。
- Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.
- Given an array of size n, find the majority element. The majority element is the element that appears more than ? n/2 ? times.
後面就是提問環節。
因為這幾道題都比較簡單,所以表現的有點自信,最後被面試官吐槽有點任性。。。
他們組也說是C 做L4無人車系統的,但是在蘇州。
一面 d
這個面試官上來就介紹了他們的團隊,然後主要是做高性能計算,和各種優化的,和體系結構打交道比較多。
主要是問了彙編還有體系結構的一些東西,還有簡歷上那個內核的線程、進程、內存管理等。
- 有沒有了解過cache,然後矩陣乘法cache優化(就是CSAPP的那個cache lab)
- 問了彙編裡面什麼可以改變eip(說了call,jmp,ret等)
- 線程進程的區別,實現上差異
- 為什麼有虛擬地址的存在(扯了下保護模式的作用)
- 為啥不能寫個程序修改cr3寄存器,就是換掉頁表
- 設計一個支持糾錯的詞典(同樣字元,然後順序不一樣),然後分析複雜度
- 形如 ...10,8,6,4,2,1,3,5,7,9... 這樣的數列,輸入兩個數字,判斷他們之間下標的距離,考慮robust
- 最後交流了一下CSAPP的attack lab,怎麼做攻擊的,ROP具體是怎麼回事等等
與作者交流:https://www.nowcoder.com/discuss/148527
更多筆經面經:https://www.nowcoder.com/discuss?order=0&type=2
推薦閱讀: