欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

小鵬社招面經(jīng)——Linux內(nèi)核穩(wěn)定性工程師

1.自我介紹

2.內(nèi)存泄露問題了解多少?如何定位?

像長時(shí)間老化發(fā)生卡頓、內(nèi)存不足觸發(fā)大量的lowmemorykiller或者oom、內(nèi)存分配失敗,這些都可以去懷疑內(nèi)存泄露。

內(nèi)核的內(nèi)存泄露,主要就是slab內(nèi)存泄露、ion內(nèi)存泄露、私有頁內(nèi)存泄露。

定位的話,我一般是,先監(jiān)控進(jìn)程ps內(nèi)存變化,確定內(nèi)存泄漏存在。第二,泄漏存在,對代碼進(jìn)行靜態(tài)掃描,解決所有掃出來的問題。第三,上內(nèi)存檢測工具,memchecker,valgrind都行,解決工具掃出來的問題。第四,帶上自定義的分配器或mtrace之類的上壓測,解決測出的問題。

3.什么是Cache一致性?

簡單來說,就是讀到的數(shù)據(jù)是舊數(shù)據(jù),Cache數(shù)據(jù)還沒同步過來

4.說下你做過的一些優(yōu)化?

說一個(gè)內(nèi)存相關(guān)的吧,riscv的linux內(nèi)核,對啟動(dòng)地址有個(gè)2M對齊的要求,原因是為了與OpenSBI對齊。因?yàn)镺penSBI默認(rèn)跳轉(zhuǎn)偏移是2M,但OpenSBI并不需要這么空間,這就導(dǎo)致中間有1M+內(nèi)存浪費(fèi),所以任務(wù)就是把這內(nèi)存映射起來。

怎么做呢?跟內(nèi)核代碼發(fā)現(xiàn),2M對齊要求,一方面是內(nèi)核對啟動(dòng)地址做了檢查,不符合直接觸發(fā)BUG_ON;另一方面,它的臨時(shí)頁表只建到了二級(jí)頁表,而二級(jí)頁表是2M的,沒有繼續(xù)建到三級(jí)頁表,所以尋址不能尋到更小地址。

因此最終就是,修改內(nèi)核,給這個(gè)啟動(dòng)用的臨時(shí)頁表,建立三級(jí)頁表,三級(jí)頁表是4K,只需要地址4K對齊就行。

5.CMA分配的內(nèi)存是哪種屬性,在cpu和dma之間共享的處理怎么保證一致性?

通過dma_alloc_coherent, dma_alloc_writecombine分配到的CMA內(nèi)存,都是non-cached,沒有cache一致性問題。

通過ION分配到的CMA內(nèi)存,可以映射成cached和non-cached。映射成cached的場合,可以使用流式DMA接口處理cache一致性。

6.對異常重啟類問題,有多少了解?

異常重啟,看是硬件還是軟件。硬件的話,通常更多是外部電源掉電,像通常的板子都會(huì)有外部電源過流保護(hù),觸發(fā)過流保護(hù)就會(huì)導(dǎo)致整板掉電和重啟。軟件的話,內(nèi)核panic是會(huì)重啟系統(tǒng)的,這個(gè)可以配置,panic了就要具體分析原因了。

7. 簡單說下什么是死鎖?

你要的鎖在我這,我要的鎖在你這,我倆都在等彼此釋放,但是釋放又要拿到鎖,陷入僵局死循環(huán)

8、說一下你遇到過的死鎖案例?

說一個(gè)關(guān)于原子上下文的死鎖吧,背景是做壓測時(shí),系統(tǒng)卡死,串口不可用,內(nèi)核報(bào)錯(cuò)INFO: rcu_preempt detected stalls on CPUs/tasks。

從報(bào)錯(cuò)log上看,cpu0檢測到cpu1 stalls了上千個(gè)jiffies,cpu1 stalls表示cpu1關(guān)閉了中斷和搶占,是無法調(diào)度出去了,所以cpu1一直是在running swapper/1線程,log也是一直在報(bào)running swapper/1的信息。

根據(jù)現(xiàn)象,認(rèn)為是死鎖問題,然后打開內(nèi)核的lockdep調(diào)試開關(guān),lockdep出現(xiàn)了死鎖log,提示在一個(gè)atomic的上下文中有去調(diào)用sleeping的接口,這是不允許的。因?yàn)樵由舷挛氖且粋€(gè)關(guān)中斷、關(guān)搶占的環(huán)境,所以一旦在會(huì)睡眠的接口中schedule出去了,cpu就再也無法調(diào)度了。

然后跟蹤代碼發(fā)現(xiàn),在使用spin_lock_irqsave加鎖后,繼續(xù)使用了mutex_lock。spin_lock_irqsave接口是會(huì)關(guān)中斷、關(guān)搶占的,不允許調(diào)度;而互鎖鎖會(huì)睡眠,一旦取不到鎖就會(huì)schedule出去,那cpu就無法調(diào)度了,出現(xiàn)cpu stalls。

最終解決就是直接去掉這段互斥鎖操作,因?yàn)橐呀?jīng)有自旋鎖做同步操作了。

9.有什么想問的

實(shí)際上,這些問題都是需要探討的,光是死鎖,我認(rèn)為都可以聊半小時(shí),時(shí)間有限簡單聊聊。穩(wěn)定性這塊涉及面比較廣,偏系統(tǒng)。

#校招##小鵬##嵌入式面經(jīng)#

記錄Linux驅(qū)動(dòng)社招面經(jīng),希望看到的人有所收獲

全部評論
點(diǎn)贊 回復(fù) 分享
發(fā)布于 04-21 22:39 廣東

相關(guān)推薦

?? 個(gè)人背景:985碩,無大廠實(shí)習(xí),但有兩個(gè)車載嵌入式項(xiàng)目,剛通過文遠(yuǎn)知行4輪技術(shù)面,分享一手經(jīng)驗(yàn)!?? 面試流程速覽筆試:3道編程題(C/C++為主,涉及鏈表和內(nèi)存管理)。技術(shù)一面:手撕代碼 + 硬件基礎(chǔ)(50分鐘)。技術(shù)二面:系統(tǒng)設(shè)計(jì) + 多線程實(shí)戰(zhàn)(40分鐘)。技術(shù)三面(交叉面):項(xiàng)目深挖 + 行業(yè)場景(30分鐘)。HR面:離職原因/職業(yè)穩(wěn)定性。時(shí)間線:2周速通(面試官效率高,但手撕題難度陡增)。?? 技術(shù)面真題回憶1. 手撕代碼題題目1:反轉(zhuǎn)鏈表的指定區(qū)間(如反轉(zhuǎn)第m到第n個(gè)節(jié)點(diǎn)),要求空間復(fù)雜度O(1)??狱c(diǎn):頭節(jié)點(diǎn)可能被反轉(zhuǎn),需用dummy節(jié)點(diǎn)占位。樓主評價(jià):“寫過N遍的題,但現(xiàn)場卡在指針判空邊界,被面試官連環(huán)追問” ??題目2:設(shè)計(jì)一個(gè)線程安全的環(huán)形緩沖區(qū)(Circular Buffer),支持多線程讀寫??键c(diǎn):互斥鎖、條件變量、內(nèi)存對齊優(yōu)化。2. 系統(tǒng)設(shè)計(jì) & 硬件基礎(chǔ)問題1:如何設(shè)計(jì)車載CAN總線通信模塊?幀ID分配策略、錯(cuò)誤處理機(jī)制怎么實(shí)現(xiàn)?延伸:CAN vs CAN FD的區(qū)別、DBC文件解析工具的原理。問題2:在資源受限的嵌入式系統(tǒng)中,如何優(yōu)化AI模型的推理速度?(如文遠(yuǎn)知行用的L4級(jí)計(jì)算平臺(tái))參考思路:量化、層融合、利用硬件加速指令(如ARM NEON)。3. 操作系統(tǒng) & 實(shí)戰(zhàn)場景靈魂拷問:“Linux內(nèi)核的實(shí)時(shí)性差,如何為自動(dòng)駕駛傳感器數(shù)據(jù)采集設(shè)計(jì)實(shí)時(shí)線程?”“SPI通信中遇到時(shí)鐘信號(hào)抖動(dòng),如何用示波器定位問題?”樓主答案(僅供參考):實(shí)時(shí)性方案:Preempt-RT補(bǔ)丁 + 線程優(yōu)先級(jí)綁定 + 內(nèi)存鎖頁。SPI調(diào)試:查時(shí)鐘頻率是否超設(shè)備上限,檢查地線環(huán)路干擾。?? 項(xiàng)目深挖高頻問題車載項(xiàng)目1:基于STM32的ADAS預(yù)警系統(tǒng)“如何解決毫米波雷達(dá)數(shù)據(jù)與視覺時(shí)間戳不同步?” → 答硬件中斷+PTP協(xié)議同步。“濾波算法選型?為什么不用卡爾曼濾波改用滑動(dòng)窗口均值?” → 答資源消耗與實(shí)時(shí)性權(quán)衡。行業(yè)場景:“自動(dòng)駕駛嵌入式系統(tǒng)為什么傾向用ROS 2替代ROS 1?”(答:DDS協(xié)議支持分布式實(shí)時(shí)通信)?? 避坑指南手撕代碼:嵌入式必刷**《程序員面試寶典》**指針題,尤其鏈表/位操作。多寫裸機(jī)代碼(不依賴IDE調(diào)試),面試官可能要求白紙手寫。項(xiàng)目復(fù)盤:準(zhǔn)備數(shù)據(jù)對比圖(如優(yōu)化前后內(nèi)存占用),展示量化結(jié)果。解釋清楚為什么用某款MCU/傳感器(成本?性能?供應(yīng)鏈?)。八股文重點(diǎn):熟讀《ARM Cortex-M權(quán)威指南》、Cache一致性協(xié)議(MESI)。掌握RTOS調(diào)度機(jī)制(如FreeRTOS的優(yōu)先級(jí)反轉(zhuǎn)解決方案)。?? 內(nèi)推內(nèi)推鏈接:https://app.mokahr.com/m/campus_apply/jingchi/2137?recommendCode=DS17ugTB#/jobs??內(nèi)推碼:DS17ugTB(填碼簡歷優(yōu)先審?。g迎提問/補(bǔ)充!祝大家offer拿到手軟!#實(shí)習(xí)# #春招# #面經(jīng)# #文遠(yuǎn)知行# #自動(dòng)駕駛# #嵌入式#      
點(diǎn)贊 評論 收藏
分享
評論
2
5
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)