1. 程式人生 > >今日頭條Java工程師崗面試分享,我總結的失敗原因(附面試題)

今日頭條Java工程師崗面試分享,我總結的失敗原因(附面試題)

 

面試崗位:

後端研發工程師

找牛客大佬要了白金碼,跳過死亡筆試,直接視訊面,從3點開始,到晚上8點結束。

每個面試官給我的感覺都是怎麼這麼高冷啊。

一面:

寫一個題,找一個無序陣列的中位數

寫了個快排,然後讓我找到無序陣列第k大的一個數,我說先排序再找,實際上可以用快排的partition函式。

快排的時間複雜度,最壞情況呢,最好情況呢,堆排序的時間複雜度呢,建堆的複雜度是多少,nlgn。

作業系統瞭解麼,Linux和windows

說說Linux的磁碟管理,一臉懵逼

Linux有哪些程序通訊方式,五大件

Linux的共享記憶體如何實現,大概說了一下。

共享記憶體實現的具體步驟,我說沒用過

socket網路程式設計,說一下TCP的三次握手和四次揮手,中間網路不好,面試官都沒聽清楚,很尷尬

跳過網路,問了專案的一些東西

問我如何把docker講的很清楚,我從物理機,虛擬機器到容器具體實現稍微說了下。

問我cgroup在linux的具體實現,不會。

多執行緒用過哪些,chm和countdownlatch用過

二面:

自我介紹

Java的集合類哪些是執行緒安全

分別說說這些集合類,hashmap怎麼實現的,扯了很多

MySQL索引的實現,innodb的索引,b+樹索引是怎麼實現的,為什麼用b+樹做索引節點,一個節點存了多少資料,怎麼規定大小,與磁碟頁對應。

MySQL的事務隔離級別,分別解決什麼問題。

Redis瞭解麼,如果Redis有1億個key,使用keys命令是否會影響線上服務,我說會,因為是單執行緒模型,可以部署多個節點。

問我知不知道有一條命令可以實現上面這個功能。不知道

Redis的持久化方式,aod和rdb,具體怎麼實現,追加日誌和備份檔案,底層實現原理的話知道麼,不清楚。

Redis的list是怎麼實現的,我說用ziplist+quicklist實現的,ziplist壓縮空間,quicklist實現連結串列。

sortedset怎麼實現的,使用dict+skiplist實現的,問我skiplist的資料結構,大概說了下是個實現簡單的快速查詢結構。

瞭解什麼訊息佇列,rmq和kafka,沒細問

寫題時間到。第一題:寫一個層序遍歷。

第二題:寫一個插入樹節點到一顆排序樹的插入方法,使用遞迴方式找到插入位置即可。

第三題:一個有向圖用鄰接矩陣表示,並且是有權圖,現在問怎麼判斷圖中有沒有環。

我說直接dfs走到原點即為有環,剛開始寫的時候我又問了一嘴是不是隻要找到一個就行,面試官說是的,然後我說這樣應該用bfs,有一次訪問到原節點就是有環了。

面試官問我不用遞迴能不能做這個題,其實我都還沒開始寫。然後我就說沒有思路,他提示我拓撲圖。我沒明白拓撲圖能帶來什麼好處。現在一想,好像當訪問過程中找不到下一個節點時就說明有環。做一個訪問標記應該就可以。

第四題:一個二叉樹,找到二叉樹中最長的一條路徑。

我先用求樹高的方式求出了根節點的左右子樹高度,加起來便是。

然後面試官提示需要考慮某個子樹深度特別大的情況,於是我用遍歷的方式重新整理最大值,用上面那個方法遍歷完整個樹即可。

面試官說複雜度比較高,但是由於時間問題就說結束了。

三面:

介紹一下專案

你談到的併發技術,chm和countdownlatch怎麼使用的

為什麼要這麼處理,使用執行緒池是不是也可以。我說也可以

作業系統的程序通訊方式,殭屍程序和孤兒程序是什麼,如何避免殭屍程序,我說讓父程序顯示通知,那父程序怎麼知道子程序結束了,答不會。

計算機網路TCP和UDP有什麼區別,為什麼迅雷下載是基於UDP的,我說FTP是基於TCP,而迅雷是p2p不需要TCP那麼可靠的傳輸保證。

作業系統的死鎖必要條件,如何避免死鎖。

寫一個LRU的快取,需要完成超時淘汰和LRU淘汰。

我說用lhm行不行,他說用linkedlist和hashmap可以。

於是我就寫了put和get函式,進行了隊頭隊尾操作。

他說get複雜度會不會太高,我瞎掰了半天沒找到辦法,他說那就這樣吧,今天面試到這。

過期淘汰的處理我還沒寫呢,就說結束了,感覺涼了啊,我說我要不要把剩下邏輯下完,他說不用,心涼了一大截~

然後HR小姐姐讓我等結果了。

面試經歷只是提供給大家一點臨時的應付技巧,真正的本領還是要靠平時的學習和積累,只有學習的多了,技術掌握的透徹,才會在面試的時候臨危不亂,處變不驚。臨時抱佛腳雖然有時可行,但是,也有抱不住的時候啊。

因此在這裡也給那些技術想達到這個高度甚至想往架構師發展的Java程式設計師提供一份詳細的進階路線圖,主要針對2到5年及以上工作經驗的Java開發人員,從廣度到深度架構圖還比較全面的,裡面的技術包涵了Java高併發、微服務、原始碼分析、原始碼分析、高效能、分散式等技術,這些也是目前網際網路企業比較常用的技術,那麼來詳細看看。(文末有高清完整樹圖領取)

1.原始碼分析

 

 

2.分散式專題

 

 

3.微服務專題

 

 

4.效能優化

 

 

裡面包含的技術不是讓你全部掌握,但是很多東西是面試官必問的,所以你不能不知道,希望給那些需要這些資訊的人幫助。

最後

以上就是筆者分享進階架構師學習線路,分享了一波進階線路圖譜,那麼資源肯定也是少不了的,如果你對技術提升很感興趣,小編在這裡提供了一份針對上面導圖的架構進階視訊資料,資源分享包括但不限於(分散式架構、高可擴充套件、高效能、高並 發、Jvm效能調優、Spring,MyBatis,Nginx原始碼分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。

資料獲取方式:加QQ群:705127209 進群免費領取資料!

點選連結加入群聊【Java高階架構】:點選進群

相關推薦

今日頭條Java工程師面試分享總結失敗原因試題

  面試崗位: 後端研發工程師 找牛客大佬要了白金碼,跳過死亡筆試,直接視訊面,從3點開始,到晚上8點結束。

今日頭條Android工程師面試記錄

今日頭條面試記錄 今年二月開年就面了第一家想去的公司,面試通知來得突然,又驚又喜,然而準備不足一面就跪了。面試是視訊面試。 介紹一下你最擅長的技術。 自定義控制元件、動畫。 自定義控制元件有哪幾種實現方式?在實現自定義控制元件時需要重寫哪幾個構造方法?

一年iOS工作經驗如何拿下百度、美團、快手等Offer試題

前言:先簡單說說我最近的面試經歷吧。面試的公司很多,大部分最後都能得到令人滿意的結果,我將這些體會記錄下來,面了這麼多公司,如果不留下什麼,那豈不是太浪費了。對於我來說,這也是一次自我檢查,在這次面試中總結經驗,認清自己,同時希望這些對即將換工作或者打算看看其他機會的你有一些

聊聊java中的繼承試題

首先了解下為什麼要有繼承 舉個例子,我們要定義幾個類,學生類,老師類,清潔工類,在他們裡面都要定義一個吃飯的方法,那麼,每個類裡面都定義是不是有些麻煩,於是出現了繼承,想想,學生老師清潔工都是人,這個時候我們可以定義一個人類,裡面定義一個吃飯的方法,然後這幾個類再繼承人類,

2018 BAT春招已經開始已拿Offer的百度阿里的iOS面試總結分享給你

前言:隨著各大公司春招的開始,很多小夥伴都行動起來了,因此這篇總結並不一定適合想去創業公司的同學。另外,由於經驗本來就是主觀性極強的東西,加之筆者水平有限,所以如果有不認可的地方,萬望諸君呵呵一笑,拋之腦後。接下來,我就斗膽分享一下自己在準備和參加面試的過程中的收穫、對面試的

Vue面試經常會被問到的試題/Vue知識點整理

log 學習 ajax rom mount ams 特定 ren 原理 看看面試題,只是為了查漏補缺,看看自己那些方面還不懂。切記不要以為背了面試題,就萬事大吉了,最好是理解背後的原理,這樣面試的時候才能侃侃而談。不然,稍微有水平的面試官一看就能看出,是否有真才實學還是剛好

機器學習工程師|資料科學家面試流程介紹試題

問題導讀1.機器學習工程師面試的流程是什麼?2.本文典型的第一輪面試由哪三部分組成?3.對於基本

今日頭條(java後臺開發)——實習生面試

2018.1.3下午三點半視訊面試。(全程34分鐘)   面試之前自己還是很緊張的,畢竟也是我的初面。 1. 問:說一下Java記憶體管理機制。 答:(因為自己最近才開始看,所以瞭解的不多。)java記憶體主要分為這幾部分:方法區、堆、java虛擬機器棧、本地方法棧、程式計

一個兩年Java工程師面試總結以及進階架構師學習指引

前言 16年畢業到現在也近兩年了,最近面試了阿里集團(菜鳥網路,螞蟻金服),網易,滴滴,點我達,最終收到點我達,網易offer,螞蟻金服二面掛掉,菜鳥網路一個月了還在流程中...最終有幸去了網易。但是要特別感謝點我達的領導及HR,真的非常非常好,很感謝他們一直的關照和指導。 面試整體事項

如和用Python獲取今日頭條上面三千美女圖且看教程

req proc 輕松 社會 sha 爬取 可能 adbd 動態 我們的學習爬蟲的動力是什麽? 有人可能會說:如果我學好了,我可以找一個高薪的工作。 有人可能會說:我學習編程希望能夠為社會做貢獻(手動滑稽) 有人可能會說:為了妹子! ..... 其實我們會發現妹子才是第一生

一個三年Java工程師面試總結

前言: 15年畢業到現在也近3年了,最近面試了阿里集團(菜鳥網路,螞蟻金服)、網易、滴滴、點我達,最終收到點我達和網易offer,螞蟻金服二面掛掉,菜鳥網路一個月了還在流程中...最終有幸去了網易。     一、面試整體事項 1、簡歷要準備好,聯絡方式一

Java 工程師面試第一課

一:Java的基礎部分          基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,執行緒的語法,集合的語法,io的語法。虛擬機器方面的語法,其他等 1.一個".java."原始檔中是否可以包括多個類(不是內部類)? 有什麼限制?

一個兩年Java工程師面試總結

前言 16年畢業到現在也近兩年了,最近面試了阿里集團(菜鳥網路,螞蟻金服),網易,滴滴,點我達,最終收到點我達,網易offer,螞蟻金服二面掛掉,菜鳥網路一個月了還在流程中...最終有幸去了網易。但是要特別感謝點我達的領導及HR,真的非常非常好,很感謝他們一直的關照和指導。

2018-04-16 招商銀行信用卡中心面試群裡同學分享面試問題的是17號

java和c++區別servlet底層原理mybatis和hibernate區別專案中的一些解決方案平時怎麼學習的看過哪些書(沒去參加面試)再次更新:自我介紹主要問了專案裡的一些細節觀察者模式你還了解哪些設計模式OAuth的原理redis的儲存結構有哪些資料結構專案裡你遇到過

力壓今日頭條成 App Store 榜第一個稅 App 驚爆 62 例木馬病毒!

嗅著錢串子的味道,「造馬者」們趕著新舊年之交又騷動起來了…… 近日,國務院正式釋出《個人所得稅專項附加扣除暫行辦法》,自 2019 年 1 月 1 日起,個人所得稅增加 6 項專項附加扣除費用。與此同時,“個人所得稅”APP 也已悄然上線,12 月 31 日就可

[轉載]知名網際網路公司 Java 開發面試知識點解析

天之道,損有餘而補不足,是故虛勝實,不足勝有餘。如背景中介紹,作者在一年之內參加過多場面試,應聘崗位均為 Java 開發方向。在不斷的面試中,分類總結了 Java 開發崗位面試中的一些知識點。主要包括以下幾個部分:Java 基礎知識點Java 常見集合高併

今日頭條大資料試題

# 原創作品,轉載請註明出處,謝謝!@楊福星 一、題目介紹 【輸入一系列點,輸出 一系列座標系中最大的點(右方區域無點比其要高)】 二、分析 比其x大的,

在騰訊、頭條、網易面試“刻意練習”才是王道!

2018年8月19號投了PM崗位,20號小姐姐給我打電話,說已通過簡歷篩選和綜合考量,約個時間進行下一步面試。 在接到網易電話的前一天,收到了騰訊、今日頭條的面試邀請郵件。 說明:因為現居廣州,所以都是遠端視訊面試。 騰訊: 騰訊面試的過程很尷尬,我沒說多少,面試官卻

今日頭條ajax技術內as ,cp_cp_signature引數分析、破解及python爬取頻道資料

相信很多人在爬今日頭條的時候就遇到了一個難題,就是找到了訊息頭後,有3個加密的引數(as ,cp,_cp_signature),如下圖: 找到的請求URL是: 以上共有 max_behot_time 可以看出是10位數字的時間戳; category 是對應