2018年春招面試實戰記錄-大數據開發相關崗位


崗位均是與大數據研發有關
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。
常見的四種就是:

  1. MyISAM
    插入、查詢較快,不支持事務,不支持外鍵(其他表的主鍵)。適合select和insert驅動的數據庫使用。
  2. InnoDB
    事務型數據庫首選。兼容ACID,支持回滾。對並發處理較好。
  3. Memory
    存在內存中,可以保有盡可能快的響應速度。內存中的數據表有可能會丟失,適合那些即使丟了表也不會產生實質的負面影響的應用服務。適用於數據量較小的情況。
  4. Merge
    是對一組MyISAM表的組合。刪除Merge表不會刪除內部的MyISAM表數據。常用與服務器日志表的存儲管理。
  • 這里順便插一個問題,關於數據庫索引的問題,底層實現的數據結構。
    數據庫索引的定義:一種幫助數據庫高效獲取數據的數據結構。
    底層實現:多數采用B+Tree的實現。也有B-Tree和B樹。關於區別B樹,B-樹和B+樹的區別
  • 面向對象的特性。
    繼承,多態,封裝
  • 接口和抽象類的區別
    終於理解了-系列
    接口是對動作的抽象,表示能做什么。
    抽象類是對根源的抽象,表示是什么。
  1. 接口的方法都是抽象的,抽象類可以由非抽象方法。
  2. 接口可以多繼承(因為對象可以由很多種動作行為),抽象類不可以(因為根源只有一個)
  3. 接口定義方法,不實現方法。抽象類可以實現部分方法。
  • 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會通知觀察者,告訴他數據發生了改變。觀察者將更新后的數據發送給視圖。

  • 快排的思想

  1. 從數列中選一個數作為基准,一般可以選第一個。
  2. 比基准小的放左邊,大的放右邊。
  3. 對左右區間重復第二步,知道區間內只有一個數。
  • 什么是java的不可變類Immutable和可變類Mutable
    舉個例子,String和StringBuilder,兩個類功能上很多相似點。String是一個不可變對象,對於String的每一次修改都會產生一個新的String對象(不嚴謹)。StringBuilder是一個可變類,對象的每一次修改是對其本身的一個修改,不產生新的對象。
  • 那么如何設計一個不可變類?
    對象一旦創建,便不可被修改。
  1. 屬性設為private final。類也是final的,不可被繼承,被重載,
  2. 只保留類似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做后端?

  • 數據結構
  1. 使用兩個棧,完成如下需求:增加可以獲取棧的最小值的方法。
    要用AVL,結合堆的知識來做。回答的不是很好。
  2. 變形的二叉搜索。是一個循環隊列。比如67812345 。思想回答對了,讓我編程實現。編碼能力差,沒寫出來。
  • 操作系統進程線程,內存模型,堆棧(這個堆棧與數據結構的堆棧概念不一樣),進程通信,線程安全。
  • JVM內存模型
  • nginx如何進行資源定位。
    瀏覽器鍵入url(統一資源定位),到瀏覽器加載完整個頁面,期間整個流程啥樣的。網絡中發生了什么,服務端發生了什么,nginx是如何根據url找到對應的資源文件的。
  • 程序是如何跑起來的
    大致就是在問:一個程序,由代碼組成,代碼一般都是高級語言編寫,計算機並不能直接運行,需要翻譯成機器能夠識別的比方說匯編指令,通過一連串匯編的指令完成程序需要完成的功能。

去哪兒網

補寫的面經。印象比較深的幾個問題。投的是大數據研發。面完的感覺是比較基礎,如果能在事先把大數據框架重新搭建一遍,能更加熟悉Yarn,Spark框架流程,回答問題會更好一下。

  • php的empty(0)和empty('0')問題

  • Hive
    元數據存在mysql表中。從本地加載數據,Hive存數據的幾種格式和區別。

  • Spark的DAG,寬依賴窄依賴

=====================
我的其他相關文章:

  1. Hive知識匯總
  2. 大數據研發相關-面試拾遺(備戰積累的知識點)
  3. 2018年春招面試實戰記錄-大數據開發相關崗位
  4. HadoopMR-Spark-HBase-Hive

歡迎關注微信公眾號“IT客“


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM