360面試-C++后端(實習)


在線遠程視頻面試

一面:

自我介紹。

知道哪幾種排序算法,各算法的時間復雜度。

解決hash沖突的幾種方式。

有哪些方法清除cache中舊的數據。不太清楚,我扯到了操作系統中缺頁中斷的頁面置換原理上,什么FIFO、最近最少使用、加權重等等。

進程和線程的區別。

多進程和多線程的使用場景。多進程答了一個分布式系統,多線程沒答上來,后來問了才知道期望I/O密集型和CPU密集型這種答案。

死鎖,如何解決死鎖。解決死鎖忘了,我扯到線程同步上來。

了解哪些設計模式,裝飾器模式是什么。

如何保證單例模式只有唯一實例,有哪些方法。

數據庫設計三大范式。僅答了知道一、二、三范式,詳細的沒答。

SQL優化,有哪些優化方法。僅答了查詢優化加索引。

OSI七層模型和TCP/IP四層模型,每層列舉2個協議。

TCP的三次握手和四次揮手。

C++中類成員的訪問權限和繼承權限問題。

C++中static關鍵字的作用。

智力題,足球隊問題。時間原因加沒啥思路,把能想到的都說了。

在線寫代碼,題1快速排序,題2位運算相關的題。

提問。主要問了面試時篩選應聘者的標准。

面完后讓在線等,若15分鍾內沒接到二面通知,代表面試掛了。

二面:

自我介紹。

工作經歷的簡單介紹。沒細問,我以前在傳統軟件行業干過一段時間,可能互聯網行業和傳統軟件行業的業務差別很大,面試官不怎么在意。

在線寫代碼,反轉鏈表。最好一邊寫,一邊和面試官交流你怎么想的。

拋出一個與實際業務相關的問題,探討解決方案。感覺應該是360業務中的一個簡化版需求,要你回答如何實現。這種問題給不出標准答案,把能想到的都說出來,后來我倆變成了交流探討,我順着他的思路反問了幾個問題,他才發現不對,說這是我在面試,應該我來回答這些問題,根據回答層層深入,后來涉及到效率優化、數據庫分表、大數據排序、紅黑樹、map底層實現、ConcurrentMap等。這種問題看自己怎么把握,如果面試官願意和你探討,盡量往自己熟悉的東西上引,如果面試官占據主動,層層逼問,祈禱自己的技術積累足夠深厚吧。

提問。問了應聘崗位的工作職責,360后台開發用到的技術棧,應聘的那個分布式系統的一些性能指標,請求並發量、平均響應時間等。

在線面試結束,等通知。

總結:

總耗時100min左右,一面基礎,二面能力吧,當然,兩輪面試中寫代碼都是考察重點。基礎沒啥說的,多看多積累,主要幾塊就是數據庫、操作系統、網絡和編程語言。至於二面,其實我覺得面試運氣很重要,很玄學,面試官人好,不刁難你,過的可能性就大點,當然也說不准,像前幾天面騰訊,聊得還可以,下來就掛了,哎,不斷充實自己,不變應萬變吧。

最后想和大家聊一下,一面的時候我問了面試官篩選應聘者的標准,他的回答是基礎+溝通+聰明+寫代碼:

1)基礎,應該包括編程語言掌握度+操作系統+數據庫+網絡,從上面的問題就能看出來,問題廣度很大,沒辦法,多積累。碰到答不上的,盡量往靠邊的扯,實在不知道的,就誠懇的回答現在思緒有點亂想不起來。

2)溝通,主要就是和面試官的交流,有不清楚或是不懂的地方,一定要反復追問面試官,盡量少沉默,也不要直接說不知道,更多的追問交流至少給面試官一種你在主動詢問、積極思考的印象。

3)聰明,一般考查智力題,我的理解就是思維敏捷度,這種問題很難在短時間給出答案,給出一個大概的思路或是你怎么想的,不要說不知道,想到什么都說出來,盡量回答。

4)寫代碼,這個是重點,能不能過占了很大比重,考查的東西很多,編碼風格、變量命名、功能完成度、錯誤處理等等,這個壓力真心大,在線寫代碼,你每敲一個字母,面試官都看得清清楚楚,心態平和+多練多看。

據我估計,這4部分占比:基礎35% + 溝通15% + 聰明10% + 寫代碼40%,想拿offer,多寫代碼多看書吧。

 

作者:道道道DAO

本文來源於牛客網

——————————

牛客網(www.nowcoder.com)

- 互聯網名企筆試真題

- 校招求職筆經&面經

- 程序員求職實習信息

- 程序員學習交流社區


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com