【一面掛】小米 自動(dòng)駕駛 后端開發(fā) 日常實(shí)習(xí) 一面涼經(jīng)
今天又是積累一面涼經(jīng)的一天,不過昨晚上睡晚了,沒睡好,今天確實(shí)狀態(tài)不行
總體流程
- 2022.7.6 投遞簡歷(boss上投的,之前不知道是自動(dòng)駕駛的)
- 然后火速約了面試,因?yàn)橹坝辛嗣嬖?,所以約在下周二(2022.7.12)下午
- 2022.7.12 14:00 一面
- 此后一周多沒消息,應(yīng)該是涼涼啦
- 2022.11.11 10:48 感謝信
- 我面試完整整4個(gè)月才發(fā)感謝信,你一周不給我結(jié)果我也知道是掛了,我早都去別家了,要不要這么惡心人吧?
一面(50min)
面試官給人比較嚴(yán)肅的感覺,還說了下紀(jì)律(不要切屏等等,我咋會(huì)不知道呢)
自我介紹
八股/項(xiàng)目(40min)
- 除了mysql,還了解什么數(shù)據(jù)庫?
- 非關(guān)系型數(shù)據(jù)庫,redis
- 作死之路正式開始
- 為什么要做RPC?RPC在什么情況下會(huì)用到?
- 八股文
- protobuf和json相比,作為序列化方式的好處?
- 八股文
- 你實(shí)現(xiàn)這個(gè)RPC框架,是為了提升性能嗎?
- 側(cè)重功能實(shí)現(xiàn),還沒壓測
- 怎么衡量RPC框架的性能?
- 并發(fā)量、qps
- 內(nèi)存資源占用?
- HTTP和RPC的區(qū)別
- RPC是一個(gè)完整的遠(yuǎn)程調(diào)用方案,HTTP只是個(gè)應(yīng)用層協(xié)議
- grpc用的http2,但是其他RPC框架一般都用自定義的協(xié)議
- 為什么要使用自定義協(xié)議?這比常見RPC框架的通信協(xié)議好在哪?
- 知道SQL注入嗎?
- 說了下概念
- 服務(wù)端怎么解決SQL注入?
- 八股文
- 麻了,失去記憶了,也想不出來
- 只說了服務(wù)端的輸入校驗(yàn)(例如正則表達(dá)式),不要拼接sql,但是又繼續(xù)深挖
- 什么是線程安全?
- 解釋了概念,解釋的有點(diǎn)模糊
- STL有什么容器是線程安全的嗎?
- 并沒有
- vector為什么不是線程安全的?讓舉個(gè)例子
- 就說如果涉及到任何更改容器的操作,都可能發(fā)生線程不安全的問題
- 說(編)了一些,但是面試官?zèng)]信服
- 怎么解決這個(gè)問題?
- 加互斥鎖
- 其實(shí)還有別的方法,同學(xué)被問到過,趕緊復(fù)習(xí)一波
- 互斥鎖、條件變量、讀寫鎖的區(qū)別(感覺是高頻問題)
- 八股文
- 互斥鎖的底層實(shí)現(xiàn)
- 布爾值,0表示沒鎖,1表示鎖上了
- 扯了下test and set等原子指令(TSL)
- 如果發(fā)現(xiàn)是鎖上的,就讓內(nèi)核調(diào)度另一個(gè)線程,當(dāng)前的線程就先停下了
- (說的過程中還因?yàn)殡娔X沒電,掉線了,涼上加涼)
- C++怎么使用互斥鎖
- C++11提供了mutex,加鎖的話可以用
lock_guard
和unique_lock
實(shí)現(xiàn)自動(dòng)加鎖和釋放鎖
- C++11提供了mutex,加鎖的話可以用
- 知道
shared_mutex
嗎- 不知道(C++17的特性,確實(shí)沒用過)
- MySQL的索引是什么數(shù)據(jù)結(jié)構(gòu)?怎么查找的
- B+樹,八股文
- MySQL怎么查看SQL語句是否走了索引?
- 通過
explain
命令查看
- 通過
- like能走索引嗎?
- 要符合最左前綴原則。如果左邊是具體的,右邊是通配符,才可以
- 如果最左邊是通配符,右邊是具體的,最少也得掃描整個(gè)二級(jí)索引
- 很常見的一個(gè)場景是手機(jī)尾號(hào)匹配,這肯定是最左邊是通配符,右邊是具體的那種情況,這種應(yīng)該怎么才會(huì)讓它走索引?
- 八股文,可以多增加一列,倒序存儲(chǔ)
- mysql的undo log和binlog的用途
- 八股文
- 知道m(xù)ysql的讀寫分離嗎?
- 不清楚
- 麻了,趕緊看八股文
- redis的事務(wù)?是否支持回滾?
- 不支持,不支持原子性
- 通過multi開啟事務(wù),打包一系列命令,通過exec執(zhí)行
- 這里面的多個(gè)命令并不是原子的,單條命令才是
- 總之不太好用
- redis緩存數(shù)據(jù)和mysql數(shù)據(jù)庫數(shù)據(jù)的一致性
- 先更新數(shù)據(jù)庫,再刪除緩存(旁路緩存模式)
- 知道redis的延遲雙寫嗎?
- 不知道
- 麻了,趕緊看八股文
算法題(10min)
???,核心代碼模式
- 跳躍游戲2(LeetCode 45)
- 說了下貪心的思路(差點(diǎn)想不出來,然后我就說想一會(huì),實(shí)際上是組織語言)
- 然后問,感覺這個(gè)思路不好想(可能是被看穿了做過了),就問,能用動(dòng)態(tài)規(guī)劃嗎?
- 我就說,可以是可以,但是一般來說,貪心法的問題,用動(dòng)態(tài)規(guī)劃解決,可能時(shí)間復(fù)雜度會(huì)較高
- 然后問貪心法的時(shí)間復(fù)雜度()
- 然后讓我寫代碼(嚇?biāo)?,還以為讓寫動(dòng)態(tài)規(guī)劃,不知道?。f10min能搞定嗎
- 我說,看情況吧
- 結(jié)果不到5min,秒過
反問
- 投之前不知道是自動(dòng)駕駛的,想了解部門的做的業(yè)務(wù),編程語言
- 有很多數(shù)據(jù)要處理,主要python,少量C++
- 還有什么技術(shù)棧嗎?
- 挺多的,有mongodb,es等等(感覺這個(gè)部門偏crud,所以主要問數(shù)據(jù)庫)
- 怎么培養(yǎng)實(shí)習(xí)生?
- (面試官說了,我略了)
- 23屆沒hc了,24屆的話還有hc,如果能實(shí)習(xí)滿3個(gè)月,可以提出轉(zhuǎn)正
- 麻了,24屆戰(zhàn)役這就打響了?今年形勢太差,已經(jīng)預(yù)料到明年是啥結(jié)果了
總結(jié)
挖出了很多不會(huì)的點(diǎn),八股沒背熟的地方,尤其是數(shù)據(jù)庫這塊。我數(shù)據(jù)庫這塊確實(shí)掌握的不行(不是我主攻的內(nèi)容),相比os、計(jì)網(wǎng)。(果真,一問到數(shù)據(jù)庫,我就被問穿了)
算是說不知道、不清楚,最多的一次面試,就當(dāng)作查漏補(bǔ)缺吧
#日常實(shí)習(xí)##后端開發(fā)##小米、##C++#