2018年滿滿的春招面經 | 掘金技術徵文

渣碩一枚,春招投了不少簡歷,經過面試也學到和不少東西,分享一下面經。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指針。

回覆等通知,不過我感受掛了,微信裏面也查不到狀態。

頭條視頻面(3月31號):

一面:

項目

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)

騰訊hr面:

問了一下本身在學校中和本身家庭的一些狀況。

問了一下本身從此的職業發展。

反正隨便聊天,面試官蠻親切的。

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…

相關文章
相關標籤/搜索