渣碩一枚,春招投了不少簡歷,經過面試也學到和不少東西,分享一下面經。java
項目,主題模型python
一個數據流,只能訪問一次,如何保證訪問每一個數據的頻率相同mysql
c++11 future和promiselinux
epoll,libev優勢c++
構造函數能不能重寫(沒聽清要問什麼)程序員
面向對象的優勢:更易維護,增長代碼的重用面試
大文本如何排序redis
最優二叉樹(我說數據結構比較熟,他說那我考你一個最優二叉樹。沒答出來,覺得是排序二叉樹。。若是問我哈夫曼樹我就會了。。)算法
棧和隊列sql
棧空間,堆空間,靜態區
棧區:有編譯器自動分配釋放,堆區:由程序員分配釋放
靜態區:全局變量和未初始化的靜態變量
kmeans
mongodb瞭解嗎?
linux如何擴大分區
以後探討了一下從此發展方向,我說研究和工程比較偏工程,他好像不怎麼滿意的樣子,已掛。
map用的是紅黑樹,和AVL樹的區別
map插入和刪除須要注意什麼
mongodb 和 mysql 差異
IO多路複用方式的區別
如何查看函數所佔用的內存
gdb如何debug
python數據處理庫,numpy和pandas
C++多態是怎麼實現的,哪些函數不能是虛函數(構造函數,靜態函數,inline函數)
25u-50結果是多少,u表明unsigned
malloc(0)返回什麼: 若是請求的長度爲0,則標準C語言函數返回一個null指針或不能用於訪問對象的非null指針。
回覆等通知,不過我感受掛了,微信裏面也查不到狀態。
項目
mongodb,mysql,redis
redis中hash的結構
簽到的表設計
flask,sqlalchemy
mongodb,mysql, redis的不一樣點
b+樹,存儲方式
https和http的不一樣
http返回碼
查找最長迴文串(能夠動態規劃)
https://blog.csdn.net/shineboyxxb/article/details/52079360
我寫了個暴力,給我過了
項目
mysql的引擎,區別(myisam, innodb)
mysql,mongodb各類索引是什麼,區別
多進程和多線程的不一樣
多進程和多線程的同步
靜態變量何時初始化
mysql四種隔離狀態
MVCC
[0, n), n個數,範圍[0, n-1], 求是否有重複方法
求第k大的數的方法以及各自的複雜度
當有相同元素時,求第k大的元素的方法(相似快排,手撕)
項目
何時會發生segmentfault
ip地址有什麼用,ip地址和mac地址
系統中斷是什麼,用戶態和內核態的區別
給你一個數組,再給你幾對數,這幾對數只可以同時出現或者不一樣時出現,求拿出k個數的可能性(true or false)(手撕,dfs標號+dp)
官網狀態還在面試中,估計仍是備胎,基礎答的不夠好,可是還好代碼都寫出來了。
項目
實現一個買票系統:實現買票,退票,檢票。給一個小時,手撕,文件流+map搞一下就好了,API之類的能夠百度。
項目
數據流,如何獲取中位數,複雜度
一到一百萬的素數,怎麼快速求
有一堆數,再給你不少對數,每對數都在同一個組,求一共有多少組數
有不少蠟燭,每根蠟燭1個小時,求15分鐘怎麼計時
數據庫mongodb和mysql的不一樣
innodb的4種隔離方式
索引相關的東西
如何設計一個分佈式配置系統,更新配置以後1秒鐘內可以同步全部客戶端(這個答的不太好,由於分佈式基礎比較薄弱)
家常
已拿offer,酷家樂面試體驗是最好的,並且公司環境不錯,很看好公司的發展。不過我太熟悉Java,仍是想寫C++。因此沒去。
自我介紹
介紹一個項目
數據庫瞭解嗎?
爲何析構函數要是虛函數,爲何c++沒有默認析構函數爲虛函數
1.模板成員函數不能夠是虛函數 https://blog.csdn.net/zzuchengming/article/details/51763563
2.C++裏面有不少小類,若是都有虛析構函數,則會對每一個類都加一個虛表指針,浪費內存
1/x + 1/y = 1/n
求最小的n,使得對數超過1000
剛開始推了個公式,寫了個暴力,解釋給面試官聽,不過面試官沒聽懂,而後他告訴我解的方法,也是暴力,又從新寫了一遍,仍是沒跑出來。面試結束以後才跑出來,跑了10多分鐘,答案是180180(不知道答案對不對)
介紹一個項目
C++11 的新特性
auto,shared_ptr, weak_ptr, unique_ptr
forward, move完美轉發
RAII機制,lock_guard
java,可達性分析
新生代,老年代
C++11的template和java的範型區別
https://www.zhihu.com/question/33304378
如何製做一個遊戲,當用戶到達一個視野以後,怎麼更新怪物
怪物有憤怒值,怎麼去設定這些事
離散化,染色
此次二面體驗很好,有些問題不會面試官會一步步引導你怎麼作,漲了不少姿式。
目前不知道有沒有三面,不過騰訊已經收到offer了,因此應該不會面了。
自我介紹
手撕:
1.字符串去空格
2.十六進制轉十進制
如何求前100大的數
堆和棧的區別
全局的const,在函數裏面改const的值(沒理解面試官問什麼)
io多路複用,爲何epoll比較好,何時select比較好
兩種觸發方式
進程間通訊
共享單車如何分配
有一戶家庭,生了兩個娃,其中一個是女孩,另一個是女孩的機率
棧實現隊列,隊列實現棧
STL set用什麼實現,爲何用紅黑樹實現
hash用在什麼地方
各類排序空間複雜度和時間複雜度,穩定程度
快排何時最不穩定
linux基本命令
查看進程,線程,函數的cpu佔用
gdb
字節序,網絡序是什麼字節序,爲何會有不一樣的字節序
介紹了一下組是作什麼的
自我介紹
在學校裏面學了什麼
怎麼學習的
項目介紹
手撕:求一個集合的全部子集,遞歸實現,非遞歸實現
原本想問一下圍棋怎麼數目,不過不懂圍棋的規則,因此面試官換了下面的一個題
手撕:去除包含4的數字,求一個數字是第幾個數,好比5是第四個數(數位dp)
問了一下本身在學校中和本身家庭的一些狀況。
問了一下本身從此的職業發展。
反正隨便聊天,面試官蠻親切的。
19號收到offer,原來我一直覺得我是SNG的,收到offer竟然是TEG的 233
稍微問了一下項目,介紹了一下組,是作雲存儲的。
手撕:
有一個樓梯,一共有n層,能夠走a步,也能夠走b步,問最高能走到哪裏?(dp,O(n))
增長一個條件,有一次條件能夠回退一半,好比原本在第8層,能夠有一次機會直接到第4層。(兩次dp,O(n))
手撕:
一個數組,裏面大多數都是成對的,只有兩個數沒有成對,求這兩個數(異或搞一下,把數組分紅兩組)
設計題:
get(), 每次取最小的數 Release(int num),釋放num 好比調用3次get(),依次獲得1, 2, 3 若是調用一次Release(2),再執行get(),會返回2 這個就至關於linux裏面的文件描述符,每次往小的取。 我直接用優先隊列(最小堆)和map(由於Release可能會對一個數字釋放兩次,因此要記錄有沒有釋放過)實現的。 寫test case
手撕:
求一個棧的pop序是否合法。
int to string,
string to int。
這兩個是庫函數,要注意各類狀況,好比string to int的時候,數字越界要拋出異常,要考慮負數,前置0等狀況。
寫出test case.
題目不是很難,主要是看你寫代碼的嚴謹性。
微軟的面試通常有兩輪,兩輪以後若是面試官以爲你還不錯則會有3面。微軟基礎不怎麼會問,基本上都是考算法,要你站着用水筆在白板上寫代碼(比用紙寫累好多),面試官也會很是重視test case,基本上每一個問題代碼寫好以後都要你本身設計test case。 面試結束以後回去等結果,感受問題不是很大(火車票,住宿費全報銷,這點不錯)。
最終選擇了騰訊,家在杭州,深圳有點遠。不過對於快要畢業的人來講多去遠方看看也蠻好。祝你們都可以拿到想要的offer~
掘金技術徵文連接👉 juejin.im/post/5aaf2a…