崗位均是與大數據研發有關
1.騰訊一面
2.阿里電話一面
3.一點電話一面
4.宜信-征信管理部
5.北京奇虎360-大數據中心
6.華為-勇敢星實習招聘-京津冀-北研所
7.今日頭條
8.去哪兒網
騰訊一面
應聘的是技術運營的暑期實習。一輪面試下來,感覺自己還是很多東西不熟練。競爭不過別人。
更:到現在沒反應應該是涼了。騰訊考的還是基本技術能力。
-
GC
-
接觸過web應用的部署容器嗎?您是指Apache或者是nginx嗎?是的。nginx一台主機配置多個域名的時候,在nginx.conf文件中設計到的模塊名叫什么?
一開始我也沒聽懂問的是什么,重復問了幾下之后才知道。我知道有這么一個模塊,但是記不清是什么名字了。是server模塊。下面是nginx.conf的結構說明。
user www www
events{}
http{
server{}
server{}#在此配置訪問端口 一個端口對應一個域名
include vhost/*.conf;#在vhost文件夾下可以寫同樣的配置文件,只需要包含server模塊即可。一般呢,一個文件就是兩個server(一個域名兩個server)。上面的server配80端口,下面的配443端口安裝SSL證書,80到443用rewrite來做。
} -
mysql底層存儲引擎有哪些?

使用Phpmyadmin來新建表的時候,會有這些引擎提供選擇,默認是MyISAM。
常見的四種就是:
- MyISAM
插入、查詢較快,不支持事務,不支持外鍵(其他表的主鍵)。適合select和insert驅動的數據庫使用。 - InnoDB
事務型數據庫首選。兼容ACID,支持回滾。對並發處理較好。 - Memory
存在內存中,可以保有盡可能快的響應速度。內存中的數據表有可能會丟失,適合那些即使丟了表也不會產生實質的負面影響的應用服務。適用於數據量較小的情況。 - Merge
是對一組MyISAM表的組合。刪除Merge表不會刪除內部的MyISAM表數據。常用與服務器日志表的存儲管理。
- 這里順便插一個問題,關於數據庫索引的問題,底層實現的數據結構。
數據庫索引的定義:一種幫助數據庫高效獲取數據的數據結構。
底層實現:多數采用B+Tree的實現。也有B-Tree和B樹。關於區別B樹,B-樹和B+樹的區別 - 面向對象的特性。
繼承,多態,封裝 - 接口和抽象類的區別
終於理解了-系列
接口是對動作的抽象,表示能做什么。
抽象類是對根源的抽象,表示是什么。
- 接口的方法都是抽象的,抽象類可以由非抽象方法。
- 接口可以多繼承(因為對象可以由很多種動作行為),抽象類不可以(因為根源只有一個)
- 接口定義方法,不實現方法。抽象類可以實現部分方法。
-
php超時怎么設置,是在服務端還是在客戶端。
我回答是在服務端,后來想了想不對,應該是在客戶端。php里面對於前端和后端的划分不是說很明顯,約定為,會輸出到頁面的叫前端。那么計算時間的邏輯就是在前端了。設置方式是set_time_limit(8) 8秒。 -
ajax了解嗎?使用的時候會創建一個什么對象?
這個之前是有印象的,但沒答上來。我就順着說了一下我項目中哪個功能點用到了ajax並且是怎么做的。ajax會創建一個XMLHttpRequest對象,用於與后台服務器交互數據,可以在不重載整個頁面的情況下,對網頁的局部進行更新。 -
那么ajax是怎么進行異步加載的呢?
這個我也沒答上來,說實話我對ajax僅僅停留在使用階段。。后來查了一下,不知道我下面的回答對不對,可以參考。js是單線程執行的,遇到ajax的代碼,js會分析一下,ajax是異步還是同步的呢。這個屬性可以通過async來設置。如果ajax設置為異步,那么js代碼就直接跳過ajax部分 執行后面的代碼,而不等ajax執行完畢。如果ajax設置為同步的,那么js就會等待ajax部分執行完成,再接着執行后面的代碼。可以參考鏈接 -
對於Vue、AngularJS 數據綁定的理解
數據和視圖的綁定,意思是說當對象的屬性發生改變,其對應的UI也會隨之改變。 -
數據綁定是怎么實現的呢?
放個鏈接
依靠Object.defineProperty()的get和set函數。當視圖元素與數據進行了綁定聲明之后,會實例化一個依賴對象new Dep(),觀察者會從dep那里訂閱該數據,當數據發生改變之后,dep會通知觀察者,告訴他數據發生了改變。觀察者將更新后的數據發送給視圖。 -
快排的思想
- 從數列中選一個數作為基准,一般可以選第一個。
- 比基准小的放左邊,大的放右邊。
- 對左右區間重復第二步,知道區間內只有一個數。
- 什么是java的不可變類Immutable和可變類Mutable
舉個例子,String和StringBuilder,兩個類功能上很多相似點。String是一個不可變對象,對於String的每一次修改都會產生一個新的String對象(不嚴謹)。StringBuilder是一個可變類,對象的每一次修改是對其本身的一個修改,不產生新的對象。 - 那么如何設計一個不可變類?
對象一旦創建,便不可被修改。
- 屬性設為private final。類也是final的,不可被繼承,被重載,
- 只保留類似getter的訪問方法,無setter。並且,如果成員變量是一個引用類型,那么getter返回的是該引用對象的一個拷貝(這個才是最關鍵的地方)。
阿里電話一面
網申投的大數據。內推(還是需要測評,筆試,面試,所謂的內推就是會增加簡歷篩過的可能)。官網有個編程能力測評,就一道題,答案沒來得及提交,交卷了。后來還是給我打電話安排面試了??不過打來電話的是杭州菜鳥的java開發-.-委婉表示了不想做,面完當晚上官網流程就變成了已回絕。后來,五一后,官網又給續了命?重新給內推沒過的同學增加了普通招聘流程?
-
線程安全的理解。如何可以避免線程安全的出現。
50道Java線程面試題 -
TCP三次握手四次揮手
第一次:客戶端發送syn(syn=x)包到服務器。SYN_SEND
第二次:服務器收到syn后返回ack(x+1),也發送一個syn(y). SYN_RECV
第三次:客戶端收到后,再向服務器發送ack(y+1).ESTABLISHED
三次而不是兩次?:防止失效的連接請求又突然傳到服務端。
第一次:主動關閉方發送fin 不再發送數據 但是可以接收
第二次:被動關閉方收到后返回ack(fin+1)
第三次:被動方發送fin 不再發送數據 可以接收
第四次:主動方收到 返回一個ack(fin+1)
ack+1 +1的目的是什么 確認是自己最近一個發送的syn
TCP UDP區別
TCP: 面向連接,可靠的數據傳輸。傳輸安全。可靠,在於無差錯,無重復,不丟失。
通常所說的網絡編程基本上都是TCP網絡編程。FTP 21,TelNet 23,SMTP 25,POP3 110,HTTP
UDP:非面向連接,不可靠傳輸。傳輸快,安全性一般。
那面向連接和非面向連接的區別:
前者需要通過三次握手,建立一條數據傳輸通道,在斷開連接之前,通道一直存在。並且整個通道的數據傳輸可以被監控。
后者不需要建立連接,可以直接發起通信。數據進行不加以監控的傳輸。
-
匯編?不知道問的啥TOT。
-
前端后端的理解
-
貝葉斯網絡?最好要掌握幾個神經網絡算法原理
-
喜歡哪個數據結構,還沒等我說就問我神經網絡算法?
-
計算機網絡7層模型 即OSI模型
(物理層,數據鏈路層),網絡層,傳輸層,(會話層,表示層,應用層)
TCP,UDP是傳輸層的協議。
交換機,比較廣泛用於數據鏈路層。也叫二層交換機。也有其他層的交換機。
路由器,路由和轉發。路由是找到一條路徑,從一個路由器到另一個路由器。轉發是將數據完成從一個路由器的輸出端到另一個路由器的輸入端。作用在OSI的網絡層。
一點資訊電話一面]
。。。一點是一家做內容資訊類的網站,定位准,方向明確,同行有《今日頭條》APP,APP做的要比《今日頭條》干凈。APP近1000萬下載量,比不上頭條。
-
HIVE表被鎖住,怎么讀?
-
HBase讀取數據有幾種方式?
-
HIVE內部表外部表區別。
-
Nginx基本知識
-
java 加載一個類的流程 類加載器
隱式裝載
顯式裝載
bootstrploader
etclassloader
appclassloader 默認的 -
在線編程
1.有一個長為n的數組A,求滿足0≤a≤b<n的A[b]-A[a]的最大值, 給定數組A及它的大小n,請返回最大差值
使用(貪心算法)來解。 -
其他沒記下來。
宜信-征信管理部
宜信。做互聯網金融,榜單前十。有時能與螞蟻金服位列前五。互聯網金融的公司特征都是錢多。
沒涉及到基本的技術問題,全程懟項目。
宣講之前網申簡歷。宣講當天也帶了一份簡歷。宣講結束,傍晚收到HR電話約面試時間,電話或者視頻面試。
當天是周五晚上,約在了下周二下午。2:30了,沒人理我,我打過去給HR然后時間改在了3點3點07電話來了。聊到了3:48。過程就是順着我的項目一個一個說。面試官也會根據我的項目往應聘崗位上扯。過程沒問到我基礎知識。都是小項目的介紹。都是自己做的,說出來非常容易。
當天傍晚收到HR電話,問問就職意願啥的,肯定願意了。按理說第二天應該有反應的,沒有。然后周三傍晚我加了宣講時候認識的漂亮的HR姐姐,問她一些情況,本來是想問公司的待遇的,結果她非常熱心地幫我查了一下面試結果,告訴我通過了。
沒多久,之前的HR來電話了,問實習開始時間一些問題。實習期挺長的6個月。薪資240/天。一個月300餐補。自己租房子。
更新
5月3日收到郵件offer
北京奇虎360-大數據中心
沒涉及到基本的技術問題,全程懟項目。
筆試完成不久就郵件通知結果了,安排了視頻面試。面試是一天完成的,感覺上360還是比較效率的一個公司,當天HR小姐姐打了很多電話,非常負責任的在上午9點開始提醒記得上午11點20的面試。在11點左右又來電話確認一下。面試結束之后還會打電話告知面試已經結束,避免我不必要的等待。
形式
視頻面試
崗位
數據開發(大數據)
一面-技術
在牛客的視頻面試平台。上午11:20,一面面試官(男)遲到了一會吧,不過沒事,人挺好的,讓我介紹一下我做的項目。我有三個項目,兩個跟大數據無關的,一個跟大數據有關的。讓我大致說一下三個項目,然后讓我重點介紹一下我最深刻的一個項目,我說了我自己做的非大數據相關的項目。blabla。然后一邊說,他也問了自己想了解的地方。重點在隱私和NLP方面探討了一下。然后側面了解了一下我的學習能力。他的反饋是我比之前面的兩位應聘者要好一點(不知道是不是都這么說),然后直接告訴我面試通過了。
二面-技術
14:00。面試官(女,應該是主管級別的)重點了解了一下我的大數據相關的項目,深入探討了一下。然后整體感覺難度中等偏上。面完沒有表示出滿意或者不滿意的態度。
三面-HR
沒多久打電話,讓我進聊天室。小姐姐真好看。問的問題挺多的,基本上都是關於個人的發展類的問題,考不考研,實習時間,學習能力等。
電話
最后來電話告訴我面試結束,等通知結果。當前時間是4月25日,大概5月中旬出結果。應該是進行內部評分排序吧,擇優錄取。
更新
5月7日收到意向offer
5月11日收到offer
華為-勇敢星實習招聘-京津冀-北研所
沒涉及到基本的技術問題,全程懟項目。
一面-技術
現場面試,6號面試官,一個大屋子有很多桌子,應聘者和面試官,一對一面對面,一張桌子。見我簡歷上有項目,讓我介紹一下。blabla。。挺長時間
看我成績單,成績不怎么好啊。。(如果績點不高就不要把成績顯出來)
面試官的意思:覺得我動手能力比較強,自己做的兩個項目雖然比較小,但是都是自己主動想做並且實際實現了,而且還部署上線了,對這點評價很高,雖然成績不好,但不至於影響面試結果,當時直接告訴我通過了一面,等綜合面試通知。
性格測評
會刷一些人,如果照自己實際情況很容易不通過。畢竟華為公認工作強度較大,如果想通過性格測試就要好好做。
二面-綜合面試
一大半時間在問項目,跟一面差不多,甚至比一面技術面還技術面。
最后時間問了個人意願,實習時間這些東西。
更新
華為池子很深。我去一面的時候一個學姐參加二面,五一之前她已經收到實習offer。
今日頭條
已經是4月末,去官網看了看,還有在招的實習,於是投了三個職位。。隔兩天,HR打電話約面試時間。她意思是需要現場面試,不過可以先安排個視頻面試。
一面-技術面
很准時。問的東西很多,面完之后有點累,內容沒有很快的記錄下來,后來就多數都想不起來了。
投的崗位是數據研發,上來就問我願不願意用 python做后端?
- 數據結構
- 使用兩個棧,完成如下需求:增加可以獲取棧的最小值的方法。
要用AVL,結合堆的知識來做。回答的不是很好。 - 變形的二叉搜索。是一個循環隊列。比如67812345 。思想回答對了,讓我編程實現。編碼能力差,沒寫出來。
- 操作系統進程線程,內存模型,堆棧(這個堆棧與數據結構的堆棧概念不一樣),進程通信,線程安全。
- JVM內存模型
- nginx如何進行資源定位。
瀏覽器鍵入url(統一資源定位),到瀏覽器加載完整個頁面,期間整個流程啥樣的。網絡中發生了什么,服務端發生了什么,nginx是如何根據url找到對應的資源文件的。 - 程序是如何跑起來的
大致就是在問:一個程序,由代碼組成,代碼一般都是高級語言編寫,計算機並不能直接運行,需要翻譯成機器能夠識別的比方說匯編指令,通過一連串匯編的指令完成程序需要完成的功能。
去哪兒網
補寫的面經。印象比較深的幾個問題。投的是大數據研發。面完的感覺是比較基礎,如果能在事先把大數據框架重新搭建一遍,能更加熟悉Yarn,Spark框架流程,回答問題會更好一下。
-
php的empty(0)和empty('0')問題
-
Hive
元數據存在mysql表中。從本地加載數據,Hive存數據的幾種格式和區別。 -
Spark的DAG,寬依賴窄依賴
=====================
我的其他相關文章:
歡迎關注微信公眾號“IT客“