非科班面試阿里,拼多多,銀行都問了些啥?

筆者非科班轉行,兩個月拿了十多個offer,其中包括了互聯網大廠,央企,國企,銀行等,下面看看都面了什麼(部分回憶)。總之,在面試國企等企業時,會有一些有意思的問題,也會出現羣面的場景。本文收錄於面試集錦

1 阿里一面

  • 指針和引用的區別
  • define和const
  • 內聯函數和define
  • c++內存管理
  • 棧和堆區別,全局變量和局部變量
  • c++多態,虛函數,純虛函數
  • 多態的好處
  • 數據庫索引,給一個語句問有沒有用到索引,底層怎麼實現的
  • B樹和B+樹
  • 哈希衝突
  • 說一說常見的排序算法和時間,空間複雜度
  • TCP,UDP,可靠傳輸,網絡什麼時候擁塞
  • 爲什麼要內存對齊
  • 非對稱加密和對稱加密

2 電信研究院

  • 操作系統linux會用嗎,用啥系統
  • static變量和局部變量知道不
  • 內存溢出
  • 服務器什麼操作會不
  • c++用的多嗎
  • 想做什麼崗位
  • linux命令會嗎
  • epoll和select
  • sed和grep知道不
  • awk
  • 有什麼愛好
  • 你會打橋牌?
  • 檯球打的不錯嗎?
  • 籃球會不會
  • 王者榮耀啥段位
  • 喜歡玩啥位置
  • 哪個實驗室的,導師叫什麼
  • 過兩天來你們學院,記得過來

這個。。。。

3 拼多多

  • 你會gdb調試?說一下gdb調試的原理
  • 你用過git,講一下原理
  • 你熟悉哪些linux命令,回答瞭解複製之類的,然後問,cpu的原理你講一下
  • https1.1和2.0的區別,答出來了,爲什麼,怎麼實現的?
  • c++11有哪些特性,你實現一下shared_ptr
  • tcp爲什麼可靠?tcp重傳的時間怎麼設的,(一個消息都得不到ACK)
  • 多線程怎麼進行調度
  • 用過mysql嗎,說一下B+樹
  • 這是你的筆試題啊,考察一下你的算法吧,這個第三題你做錯了,有思路嗎,說沒有,那你現在想一下
  • memcpy寫一下
  • strcpy寫一下
  • 瞭解c++多態嗎,那你用c實現一下。
  • 操作系統忘了。

4 騰訊TEG

  • 擅長的語言(C語言,C++),對C++的瞭解程度

  • Linux的項目平臺經驗多嗎?

  • malloc和new分配內存的區別

  • malloc內部的實現原理

  • malloc能夠分配的最大內存空間(32位)(提到了段),如果申請了2G的內存,會立即與物理地址對應嗎,如果不會,往裏面寫數據的時候是否會產生缺頁中斷

  • 如何查看段的範圍和大小

  • elf目標可執行文件的組成部分,elf文件中的段跟運行時的段有什麼區別

  • 如何裝載目標文件到內存當中

  • 缺頁中斷的處理過程

​ 提到了換頁換出的時候會產生缺頁中斷,反問是否一定是換頁產生的嗎?上面提到的未分配空間呢?

  • 這種缺頁中斷在系統和硬件中是由哪些CPU,寄存器參與的。

​ 提到了MMU,CR3寄存器

  • 爲了加快頁表的轉換,會使用一些什麼樣的硬件和軟件

  • 瞭解大頁內存嗎?它是什麼概念,有什麼優點和缺點。

​ 優點:減少頁表

  • 對於彙編這部分了解多嗎?C語言的函數調用在彙編的角度是怎麼實現的?

​ 提到了ebp,esp函數棧,jmp跳轉

  • Linux庫函數memcpy,能不能想出比較高效的內存拷貝方式。除了按字節拷貝還有沒有性能更好的方法。

  • Linux上運行的進程的CPU有什麼組成部分,整體的CPU佔用和每一塊的CPU的佔用。怎麼用top去看一個進程的CPU佔用的組成部分。(是不是做的性能優化這部分的工作比較少)

  • C++ STL裏面有很多性能優化相關的類,這個你瞭解嗎?STL的string類本身有多大,如何保存字符串的?vector如何動態擴展空間?

​ 提到了size()和capacity(),但是發現這個問題答錯了

  • 挑一個研究的最深的技術點。挑自己最擅長的說,比如說網絡編程、系統內核啊等等

  • 樂觀鎖和悲觀鎖的區別

​ 提到了CAS

  • 問到了CAS的應用場景,CAS允許有短暫的訪問遲滯嗎?

​ 提到了讀商品和寫商品(然後發現場景錯誤)

  • CAS爲了實現鎖的原語,在Linux系統上是怎麼去實現的?

​ 談的是RING中的源碼,使用多個struct,但是他說沒有談到點上,想問的是背後原理(彙編也好,x86架構上也好)(可能是單句彙編語言,或者是總線鎖)

  • volatile關鍵字的作用?主要是爲了解決什麼問題?爲了防止編譯器進行哪種方式的優化?

​ 爲了防止編譯器優化,最核心的是做了什麼優化,怎麼理解直接去讀這個值

  • 緩存是一個什麼樣的硬件?

  • 寄存器也算是緩存的一部分嗎?

  • CPU訪問寄存器、訪問緩存、訪問內存哪個快?訪問的時間週期是多少?快多少倍?

  • 本科、研究生、實習做的項目和事情中哪個事情比較滿意,能夠體現自己的能力的?

  • 技術也好、做事情的方式也好的優勢和劣勢?

  • 你是哪個地方的人?爲什麼不參加實習生的招聘?

  • 你有什麼問題嗎?

5 某行

  • 你知道預編譯嗎
  • 你說了define,那你說他和函數有啥區別
  • 哪個更快,爲啥
  • 你提到了棧,那你說一下棧和堆
  • 你實習過嗎,華爲實習主要做啥
  • 你們班有幾個人實習了
  • 做了一道簡單的算法題
  • 有沒有轉正
  • 加班嗎
  • 你想做什麼方向,c++還是java還是python
  • 畢設做什麼
  • 幾個人做
  • 數據庫會嗎
  • 機考做了幾道題
  • 家在哪裏
  • 打算在哪裏工作
  • 喜歡武漢嗎
  • 有女朋友嗎
  • 差不多就這些

6 追一科技

  • 爲什麼不用CNN,用LSTM
  • LSTM爲什麼可以緩解梯度消失
  • 什麼是梯度消失和梯度爆炸
  • 爲什麼要提取時序信息
  • 說一下RNN和CNN
  • 你說一下虛指針
  • 寫一下單例模式
  • 別的進程可以訪問這個進程的創建的單例模式的實例嗎
  • 你說一下內存泄漏
  • 有幾個虛函數表
  • while(1)死循環
  • attention機制
  • 說一下繼承中的構造函數和析構函數
  • 野指針講一下
  • 你學過哪些課程,那你說說紅黑樹
  • 你說一下平衡二叉樹怎麼插入一個結點
  • TCP怎麼重傳
  • 共享內存爲什麼可以實現進程通信
  • 每個進程都有自己的內存,爲什麼可以訪問共享內存
  • 你知道希爾排序嗎,比直接插入排序快嗎,爲什麼,時間複雜度平均多少
  • 單鏈錶快排
  • 寫一下反轉單鏈表

7 總結

如果嘗試國企,研究所,銀行等,可以通過提前參加他們的培養生計劃,這樣進入機會會更大。當然,如果你是985,進入這些企業的機率確實會更大的,誰讓人家是985對吧,我們不得不爲自己曾經的不努力買單。但是機會一定是給時刻準備着的小夥伴,so,衝吧!資料整理在下方文章,你的star是我最前進的動力

學習資料教程彙總

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章