真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java工程師研發(fā)面經(jīng)大合集

百度研發(fā)面經(jīng)整合版

軟件研發(fā)工程師

創(chuàng)新互聯(lián)是一家集成都網(wǎng)站設計、網(wǎng)站建設、外貿網(wǎng)站建設、網(wǎng)站頁面設計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設服務。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務,與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

基礎研發(fā)工程師

百度智能云

百度核心搜索部

Java工程師研發(fā)面經(jīng)大合集

百度今年的提前批有點奇怪,好像都不走流程,??蜕虾脦讉€百度內推的帖子,我投了幾個,基本上都是百度智能云的,當然也有其他部門。

下面是我的面經(jīng),包括三個部門的面試,每個部門側重點不太一樣。

百度智能云

一面

1 項目

2 講一下AOP吧

3 動態(tài)代理和靜態(tài)代理有什么區(qū)別

4 TCP和IP報文是否會分片,分別在什么情況下會分片。

TCP分包之后是否還會進行ip分片

5 做個題

無限長軌道。兩輛車同方向開,車會滴水,怎么讓他們相遇。這題簡直像腦筋急轉彎。

6 寫一個斐波那契數(shù)列

遞歸式,要求改進

dp方式,要求優(yōu)化空間

用三個變量代替數(shù)組進行dp,要求改進

我說數(shù)學公式,OK。

7 講一下Linux的內存結構,我說只會JVM的,他讓我說一下。

兩者的內存如何映射,是什么關系,不會。

8 沒了

二面

1 項目講一下,10多分鐘去了。

2 排序算法,復雜度,比較??炫诺目臻g復雜度是logn

3 講一下OSI七層模型,我說了5層模型,然后他讓我再補充一下,問了每層的作用,問了wifi屬于哪一層。

4 線程間的同步用什么方式,說了object方法。

問我使用hashmap時重寫哪兩個方法,為什么要重寫,巴拉巴拉,什么場景下重寫。

5 平時用過什么數(shù)據(jù)結構,list用哪些有啥區(qū)別。

6 Spring中的ioc和aop。ioc的注解有哪些。

autowired和resource有什么區(qū)別,作用域有哪些。

autowired如何配置兩個類中的一個嗎

7 寫一個單例模式,有點忘卻了,巴拉巴拉搞出一個雙重檢測的,中間改了多次。

8 Java會有內存泄漏嗎,三個區(qū)分別什么情況下會產(chǎn)生內存泄漏

三面

1 主要了解哪些技術

2 分布式系統(tǒng)怎么設計,說了CAP和BASE,最終一致性

3 問我最終一致性是什么,舉一下強一致性和最終一致性的例子。分布式事務和消息隊列

4 分布式事務的消息id怎么確認順序,我說使用zk

5 zk的性能瓶頸怎么克服,我說使用redis和redis集群。

6 跨機房的網(wǎng)絡延遲怎么解決,我說不懂,他讓我猜一俠華北到華南的延遲時間大概是多久,我說大概十秒內。

7 網(wǎng)絡這塊熟么,說一下socket編程吧。說了一下java的socket

8 網(wǎng)絡編程的NIO和BIO區(qū)別,阻塞指的是什么意思呢。

9 socket客戶端和服務端的連接過程和通信過程說一下。

10 操作系統(tǒng)熟么,一般版,shell和命令熟么,不熟。

11 算法熟么,答不熟。

12 系統(tǒng)怎么設計,設計模式怎么用

13 系統(tǒng)優(yōu)化怎么做,cpu,IO,內存分別怎么排查問題和調優(yōu)

14 家鄉(xiāng),女朋友,巴拉巴拉

百度核心搜索

一面:

1 自我介紹

2 docker和k8s了解多少

3 研究生學了哪些課程

4 操作系統(tǒng)了解么,講一下進程和線程

5 死鎖和處理方式

6 內存,虛擬內存和頁面置換

7 網(wǎng)絡了解么,講一下三次握手和四次揮手

8 數(shù)據(jù)庫了解多少,MySQL索引,事務,鎖講了一些

9 Redis呢,講了一下數(shù)據(jù)結構,持久化方式,使用場景

10 分布式了解哪些,負載均衡有哪些方式,說了DNS,nginx,lvs和硬件,一致性問題怎么解決,說了2pc,3pc,raft和paxos,zab

10 mysql大表數(shù)據(jù)查詢,怎么優(yōu)化,分表,分庫。

11單鏈表判環(huán)

使用快慢指針解決

12 完全二叉樹判斷:

二面

1 項目

2 docker和kubenetes的原理和了解程度

3 docker的cgroup了解么

4 kubenetes的架構,擴容是怎么完成的。

5 Java的四種引用

6 Java的線程通信方式

7 Linux的進程通信方式

8 Java的線程池

9 算法

1 - N + 1這些數(shù)中取出N個,問剩下的是哪個。。

我說加起來相減,面試官說取巧了,不能這樣。

我說比較數(shù)組下標,他還是說取巧。

于是我讓他提示我一下,他說了排序再找。。額

然后想了兩個空間換時間的辦法,一個是用hashmap遍歷兩個數(shù)組。一個是合并數(shù)組后統(tǒng)計數(shù)字出現(xiàn)次數(shù),也是hashmap

給定一串數(shù)字,找出所有可能的IP地址組合,比如192168111,組合是192.168.1.11,192.168.11.1。

應該LeetCode的題。之前自己沒寫完整,現(xiàn)場憋出來了。

這個代碼應該沒錯。面試官看了二十分鐘才說ok。

然后我們就這樣沉默了20分鐘,中間他就說了幾句話。

三面

1項目

2家庭情況

3學習生活的挑戰(zhàn)

4學新技術的方式

5解釋一下docker

6意向城市和崗位方向

百度智能云

基礎研發(fā)工程師

一面

1 項目

2 隊列和棧區(qū)別

3 兩個棧實現(xiàn)隊列,兩個棧實現(xiàn)最小值棧

4 數(shù)據(jù)庫的事務性質,如何實現(xiàn)這些性質

5 事務隔離級別有哪些,默認是什么級別。

6 已提交讀有什么問題,用于什么場景

7 二叉樹了解么,平衡二叉樹呢,有什么場景會用到呢。

8 僵尸進程和孤兒進程是什么,分別有什么危害。

9 主從復制怎么實現(xiàn)。

10 Redis你用來做什么,為什么不用mq做異步隊列

11 分布式文件系統(tǒng)了解么,HDFS講一下原理

12 Java中一般用什么類型表示價格。

13 Java如何把byte類型轉換成字符串

14 Java的string類型為什么是不可變的

15 有什么問題

阿里巴巴研發(fā)面經(jīng)

阿里中間件研發(fā)面經(jīng)

研發(fā)工程師(Java)

Java工程師研發(fā)面經(jīng)大合集

我參與了阿里巴巴中間件部門的提前批面試,一共經(jīng)歷了四次面試,拿到了口頭offer。這是我的面經(jīng),在這里分享給大家。

一面:

1 自我介紹

2 項目中做了什么,難點呢。

3 Java的線程池說一下,各個參數(shù)的作用,如何進行的。

4 Redis講一下

5 分布式系統(tǒng)的全局id如何實現(xiàn)。用zookeeper如何實現(xiàn)的呢,機器號+時間戳即可。

6 分布式鎖的方案,redis和zookeeper那個好,如果是集群部署,高并發(fā)情況下哪個性能更好。

7 kafka了解么,了解哪些消息隊列。

8 想做業(yè)務還是研究。

9 然后出了一道題,linux的訪問權限是rwx格式的。使用一個類支持訪問權限的增刪改查,并且注意使用的數(shù)據(jù)格式以及方法效率,規(guī)范。給了一個多小時寫題。

耗時將近30分鐘。

二面:

1 介紹你做的項目和其中的難點。

2 上次面試官問的問題,反射的作用是什么。

3 數(shù)據(jù)倉庫,多線程和并發(fā)工具等。

4 私有云,docker和k8s等。

5 了解哪些中間件,dubbo,rocketmq,mycat等。

6 dubbo中的rpc如何實現(xiàn)。

7 自己實現(xiàn)rpc應該怎么做

9 dubbo的服務注冊與發(fā)現(xiàn)。

10 聽說我是非科班,于是問了些排序算法

耗時將近30分鐘。

三面:

三面不是面試,而是筆試,耗時三個小時,考的是Java核心的基礎。但是好像不能透題,就不說了。都挺有難度的。

大概說一下就是有幾個考點,Java并發(fā)的知識點,集合類,線程池,多線程之間的通信等。

HR面:

聊人生談理想,HR姐非常溫柔,交流十分愉快。30分鐘。

騰訊研發(fā)面經(jīng)

騰訊SNG

后臺開發(fā)工程師

大概是8月初投的簡歷,當時沒有選事業(yè)群,第二天直接被sng撈了,抓著我一頓面試。

一周內就面完了三次面試,接著就開始無盡的等待,整整等了三周左右,終于完成了四面和HR面。

整個過程還是比較曲折的,技術面試的難度也挺大的,不過他們部門也是Java線,所以還比較有的聊。結果目前還不知道。

一面:

1 有序數(shù)組排序,二分,復雜度

2 常見排序算法,說下快排過程,時間復雜度

3 有N個節(jié)點的滿二叉樹的高度。1+logN

4 朋友之間的點對點關系用圖維護,怎么判斷兩人是否是朋友,并查集,時間復雜度,過程。沒講清楚

1. 初始化元素

2. 實現(xiàn)元素與元素間的聯(lián)合操作

3. 實現(xiàn)查找元素所在樹的根節(jié)點

4. 解決一個問題,判定兩個元素是否在同一棵樹上(兩個元素是否相互連接)

5 單元點最短路的方法,時間復雜度

6 如何實現(xiàn)關鍵字輸入提示,使用字典樹,復雜度多少,有沒有其他方案,答哈希,如果是中文呢,分詞后建立字典樹?

7 hashmap的實現(xiàn)講一下吧,講的很詳細了。講一下紅黑樹的結構,查詢性能等。

8 Java中的垃圾回收講一下,講了分代,gc算法,gc root可達性分析等

9 講一下兩個項目你都做了什么把。

10 除了代碼之外你還學習了什么技術,框架。

11 死鎖是怎么產(chǎn)生的

12 線程和進程的區(qū)別

13 進程的通信方式

14 CPU的執(zhí)行方式

15 代碼中遇到進程阻塞,進程僵死,內存泄漏等情況怎么排查。通過ps查詢狀態(tài),分析dump文件等方式排查。

16 Linux了解么,查看進程狀態(tài)ps,查看cpu狀態(tài) top。查看占用端口的進程號netstat grep

17 10g文件,只有2g內存,怎么查找文件中指定的字符串出現(xiàn)位置。MapReduce分割文件處理。

他說可以用cat | grep 管道處理。

二面:

1 快排的時間復雜度,冒泡時間復雜度,快排是否穩(wěn)定,快排的過程

2 100w個數(shù),怎么找到前1000個最大的,堆排序,怎么構造,怎么調整,時間復雜度。

3 一個矩陣,從左上角到右下角,每個位置有一個權值??梢陨舷伦笥易?,到達右下角的路徑權值最小怎么走。

先說了一下dfs遞歸實現(xiàn)。面試官說要優(yōu)化。

說了一下用迪杰斯特拉的思路,說可以。

4 四輛小車,每輛車加滿油可以走一公里,問怎么能讓一輛小車走最遠。說了好幾種方案,面試官引導我優(yōu)化了一下,但是還是不滿意,最后他說跳過。

5 hashmap的實現(xiàn),hashtable,concurrenthashmap實現(xiàn)。

6 MySQL的索引,B+樹性質。

7 Linux的cpu 100怎么排查,top jstack,日志,gui工具

8 Linux大文件怎么查某一行的內容。

9 Redis內存數(shù)據(jù)庫的內存指的是共享內存么

10 Redis的持久化方式

11 秒殺系統(tǒng)的架構設計

三面:

1 十億個數(shù)的集合和10w個數(shù)的集合,如何求它們的交集。

集合的數(shù)字不重復。

我講了兩次循環(huán),兩次hash,以及排序或者合并等方式。。都不對。后來面試官說是對小數(shù)組做hash,然后遍歷大數(shù)組即可。我完全想錯方向了。

2 十億和數(shù)找到前100個最大的,堆排序,怎么實現(xiàn),怎么調整。

3 TCP和UDP的區(qū)別,具體使用場景呢。

4 TCP四次揮手講一下過程,最后一次ack如果客戶端沒收到怎么辦。

5 對于socket編程,accept方法是干什么的,在三次握手中屬于第幾次,可以猜一下,為什么這么覺得。

6 Linux操作系統(tǒng)了解么,了解一點點,就沒問了。

7 對于單例模式,有什么使用場景了,講了全局id生成器,他問我分布式id生成器怎么實現(xiàn),說了zk,問我zk了解原理不,講了zab,然后就沒問啦。

8 除了單例模式,知道適配器模式怎么實現(xiàn)么,有什么用

9 回到網(wǎng)絡,剛才你說到直播場景,知道直播的架構怎么設計么,要點是什么,說了幾個不太對,他說要避免廣播風暴,答不會。

10 Redis和MySQL有什么區(qū)別,用于什么場景。

11 問了一下最近看什么書,什么時候開始寫博客的

12 問了還有幾輪面試,他說這輪我可以過,有點小驚喜

四面:

三面過了半個多月,終于安排四面了。

1 自我介紹

2 項目,收獲

3 Linux了解哪些,基礎命令和知識。問我proc文件系統(tǒng)了解么,答不了解。

4 TCP和UDP的核心區(qū)別在哪,講了滑動窗口保證可靠有序傳輸,UDP不可靠。TCP需要連接而UDP不需要。

5 TCP的四次揮手,time wait狀態(tài)有什么意義。

6 說完這個他問我有什么想問他的了。

7 我問他為什么隔了這么久才面試,而且之前三面都只是初試,然后他說最近他在休假,所以就。。。害我擔心了好久。他說接下來等HR面就行了。

HR面:

1 自我介紹

2 實習收獲

3 臺灣交流體驗

4 之前實習公司的情況,拿到offer了嗎,會如何選擇呢

5 排一下公司,部門,薪資和城市等因素。

6 你的優(yōu)缺點,如何改進

7 學生時代最成功的事

8 你的預期薪資

螞蟻金服研發(fā)面經(jīng)

螞蟻金服中間件

螞蟻財富

研發(fā)工程師

之前面了阿里中間件的提前批,不過沒走流程。同期還面了螞蟻中間件的兩輪面試,被告知不走流程就不能面了,所以也沒面完。
后來走了螞蟻金服財富事業(yè)群這邊的流程。前幾天剛剛面完HR。
正好今天分享一下面經(jīng),大家可以多交流交流哈。

1:螞蟻中間件(**面了三次,兩次一面,一次二面 **)

2:螞蟻財富(1+2+交叉+HR)

1一面

螞蟻金服中間件一號機

一面:

自我介紹

1Java中的多線程了解么,線程池的增長策略和拒絕策略了解么,說一下。

2講一下線程增加的過程和拒絕策略的執(zhí)行。

3講了一下fixthreadpool的增長策略,然后幾種拒絕策略。

4高并發(fā)情況下,如何使用線程池,用哪個,問了一下線程結束要多久,是否在下一個線程結束前完成(我想的是cachethreadpool,其實思路錯了)。

5表示并發(fā)量比較大,所以我說可以考慮并發(fā)量是否大于隊列長度加上最大線程數(shù)量和,如果不超過的話可以是用fixthreadpool。

6并發(fā)juc了解么,有哪些線程安全的list。說了個copyonwritelist,想了半天說不出第二個了。尷尬,那就vector把,不是juc里的。

貌似并發(fā)包里確實沒有其他list啊。

還問了concurrenthashmap1.8的改動。

7HTTP協(xié)議了解么,和tcp有什么區(qū)別。

8http1.0和2.0的區(qū)別。

答了TCP連接復用,加入ssl,以及壓縮請求頭。

其中哪個更新比較有意義,為什么。我說的是壓縮請求頭,這樣可以優(yōu)化HTTP服務的性能。

9Java的網(wǎng)絡編程,比如NIO和Socket了解么。

說下BIO和NIO的區(qū)別把。

我說了BIO的阻塞用法,以及NIO的IO多路復用用法,說了selector,seletedkey,channel等類的使用流程,以及單線程處理連接,多線程處理IO請求的好處。

10說一下NIO的類庫或框架

講了netty,寫過服務端和客戶端的demo,沒有在生產(chǎn)中實踐。

1 channelhandler負責請求就緒時的io響應。

2 bytebuf支持零拷貝,通過邏輯buff合并實際buff。

3 eventloop線程組負責實現(xiàn)線程池,任務隊列里就是io請求任務,類似線程池調度執(zhí)行。

4 acceptor接收線程負責接收tcp請求,并且注冊任務到隊列里。

11倒排索引了解么,我說不了解。

其實就是搜索引擎的基礎索引,根據(jù)關鍵字到文檔的映射關系建立索引,中文關鍵字可以使用中文分詞,查詢時通過關鍵字來定位索引,并且進行排序后得到文檔結果集。

然后面試官說講一下數(shù)據(jù)庫把,說下sql優(yōu)化的方式

我說的是MySQL,先講了一下sql使用索引的優(yōu)化,然后基于索引說了幾條優(yōu)化方案。

12索引什么時候會失效變成全表掃描

說了聯(lián)合索引的前綴匹配,跳躍索引,聚合函數(shù),判空和<>這些情況。

13分布式的paxos和raft算法了解么

了解過,但是講不清楚。

paxos:多個proposer發(fā)請?zhí)嶙h(每個提議有id+value),acceptor接受最新id的提議并把之前保留的提議返回。當超過半數(shù)的accetor返回某個提議時,此時要求value修改為propeser歷史上最大值,propeser認為可以接受該提議,于是廣播給每個acceptor,acceptor發(fā)現(xiàn)該提議和自己保存的一致,于是接受該提議并且learner同步該提議。

raft:raft要求每個節(jié)點有一個選主的時間間隔,每過一個時間間隔向master發(fā)送心跳包,當心跳失敗,該節(jié)點重新發(fā)起選主,當過半節(jié)點響應時則該節(jié)點當選主機,廣播狀態(tài),然后以后繼續(xù)下一輪選主。

14中間件知道哪些,阿里的dubbo,rocketmq的事務消息,問了TCC回答說這個之前沒看明白。

說了mycat實現(xiàn)分表分庫,消息隊列kafka和rabbitmq等。

15平時看什么書,怎么學習的。還跟我說他們部門3個華科的,校友多多。

16Spring和Springmvc講一下。講了Spring的ioc和aop,Springmvc的基本架構,請求流程。

螞蟻金服中間件二號機

一面:

1 自我介紹

2 講一下ArrayList和linkedlist的區(qū)別,ArrayList的擴容方式,擴容時機。

3 hashmap的實現(xiàn)。

4 NIO了解么,講一下和BIO的區(qū)別,AIO呢。阻塞,非阻塞,異步。具體。

5 你說了解分布式服務,那么你怎么理解分布式服務。

6 你說了解Tomcat的基本原理,了解的是哪一部分,基本架構,connector和container

7 你在項目中怎么用到并發(fā)的

8 docker和虛擬機講一下。

9 有啥想問的

螞蟻金服中間件二面

1 項目

2 說一下Spring源碼把,它的架構,流程。

3 Spring的bean如果要在實例化過程中修改其某一個成員變量,應該怎么做呢。不通過構造方法,并且AOP也并不能實現(xiàn)。

4 Tomcat的類加載器了解么,回答不了解只了解Java的類加載器。

5 自定義類加載器怎么實現(xiàn),其中哪個方法走雙親委派模型,哪個不走,不走的話怎么加載類(實現(xiàn)findclass方法,一般用defineclass加載外部類),如何才能不走雙親委派。(重寫loadclass方法)

6 布隆過濾器了解么,講了ip地址過濾的布隆過濾器實現(xiàn)。

7 聽說你項目用過docker,講一下docker的實現(xiàn)原理,說了虛擬機一般要對內核進行虛擬化,docker則用cgroup和namespace分別進行硬件和命名空間的隔離。

8 項目中遇到的最大挑戰(zhàn)。

9 項目中學到最多的東西

10 有什么想問

螞蟻財富事業(yè)部

一面:

1 億級ip地址過濾

2 排序算法和適用場景

3 數(shù)據(jù)庫的事務有什么用

4 數(shù)據(jù)庫的悲觀鎖和樂觀鎖

5 數(shù)據(jù)的索引有什么用,怎么實現(xiàn)

6 聯(lián)合索引的匹配原則

7 數(shù)據(jù)庫萬級變成億級,怎么處理。分庫分表,分片規(guī)則hash和取余數(shù)。使用mycat中間件實現(xiàn)。

8 redis這種NOSQL和mysql有什么區(qū)別,講了一遍redis

9 Spring了解不,用到了哪些設計模式,說了四個,單例,工廠,代理,觀察者,模板其實也算。

10 web請求的過程,講了瀏覽器到http服務器的過程,再講了mvc的請求處理過程。

11 你的職業(yè)規(guī)劃

12 沒了。

二面:

沒有二面,好像說是跳過了一輪,直接技術主管面。

三面:

1 項目中的多線程,為什么用chm,還有什么可以避免并發(fā)問題。

2 平時在看什么,寫什么博客,我說分布式,關注什么內容,大后端,Hadoop生態(tài)。

3 dubbo了解么

4 dubbo的基本架構,幾個組件說一下

5 服務生產(chǎn)者和消費者怎么進行rpc調用

6 怎么進行服務注冊發(fā)現(xiàn) zk實現(xiàn)具體說說

7 dubbo的負載均衡怎么做,講一下具體代碼實現(xiàn)。

8 dubbo的服務容錯怎么做,怎么知道服務器宕機了 zk的心跳機制維持服務器連接

9 好了我要問的差不多啦。

交叉面:

隔壁部門的技術主管,問了一道算法題。。就沒問別的了。。我也是很醉。。。

題目是鏈表的排序,扯了4、5種方案,轉成數(shù)組,直接排序,拆分再排序,順序連接等等。。然后我表示不能再優(yōu)化了。他就說沒別的問題了。。。有點吃驚。

HR面:

1 興趣愛好

2 三年到五年的職業(yè)規(guī)劃

3 意向公司和城市

4 實習經(jīng)歷和收獲

5 實習中最大的困難

6 為什么換公司,為什么拒絕菜鳥實習offer

7 你的缺點和優(yōu)點

8 你覺得你比其他人優(yōu)秀的地方說三個

9 為什么想來我們部門

10 巴拉巴拉

今日頭條研發(fā)面經(jīng)

今日頭條研發(fā)面經(jīng)

今日頭條上海

后臺開發(fā)工程師

今日頭條

后端研發(fā)工程師

找??痛罄幸税捉鸫a,跳過死亡筆試,直接視頻面,從3點開始,斷斷續(xù)續(xù)到晚上8點結束。

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

1一面

一面:

1 寫一個題,找一個無序數(shù)組的中位數(shù)

2 寫了個快排,然后讓我找到無序數(shù)組第k大的一個數(shù),我說先排序再找,實際上可以用快排的partition函數(shù)。

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

4 操作系統(tǒng)了解么,Linux和windows

5 說說Linux的磁盤管理,一臉懵逼

6 Linux有哪些進程通信方式,五大件

7 Linux的共享內存如何實現(xiàn),大概說了一下。

8 共享內存實現(xiàn)的具體步驟,我說沒用過

9 socket網(wǎng)絡編程,說一下TCP的三次握手和四次揮手,中間網(wǎng)絡不好,面試官都沒聽清楚,很尷尬

10 跳過網(wǎng)絡,問了項目的一些東西

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

12 問我cgroup在linux的具體實現(xiàn),不會。

13 多線程用過哪些,chm和countdownlatch在實習用過

14 不得不吐槽下今天牛客的視頻網(wǎng)速,不知道啥原因卡的一比,明明下載網(wǎng)速很正常啊,??鸵曨l每秒才20k。。瘋狂掉線搞得很蛋疼。

二面:

1 自我介紹

2 Java的集合類哪些是線程安全

3 分別說說這些集合類,hashmap怎么實現(xiàn)的,扯了很多

4 MySQL索引的實現(xiàn),innodb的索引,b+樹索引是怎么實現(xiàn)的,為什么用b+樹做索引節(jié)點,一個節(jié)點存了多少數(shù)據(jù),怎么規(guī)定大小,與磁盤頁對應。

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

6 Redis了解么,如果Redis有1億個key,使用keys命令是否會影響線上服務,我說會,因為是單線程模型,可以部署多個節(jié)點。

7 問我知不知道有一條命令可以實現(xiàn)上面這個功能。不知道

8 Redis的持久化方式,aod和rdb,具體怎么實現(xiàn),追加日志和備份文件,底層實現(xiàn)原理的話知道么,不清楚。

9 Redis的list是怎么實現(xiàn)的,我說用ziplist+quicklist實現(xiàn)的,ziplist壓縮空間,quicklist實現(xiàn)鏈表。

10 sortedset怎么實現(xiàn)的,使用dict+skiplist實現(xiàn)的,問我skiplist的數(shù)據(jù)結構,大概說了下是個實現(xiàn)簡單的快速查詢結構。

11 了解什么消息隊列,rmq和kafka,沒細問

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

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

14 第三題:一個有向圖用鄰接矩陣表示,并且是有權圖,現(xiàn)在問怎么判斷圖中有沒有環(huán)。

15 我說直接dfs走到原點即為有環(huán),剛開始寫的時候我又問了一嘴是不是只要找到一個就行,面試官說是的,然后我說這樣應該用bfs,有一次訪問到原節(jié)點就是有環(huán)了。

16面試官問我不用遞歸能不能做這個題,其實我都還沒開始寫。然后我就說沒有思路,他提示我拓撲圖。我沒明白拓撲圖能帶來什么好處?,F(xiàn)在一想,好像當訪問過程中找不到下一個節(jié)點時就說明有環(huán)。做一個訪問標記應該就可以。

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

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

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

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

三面:

三面的面試官真的高冷啊,不茍言笑就算了,我問他問他他都不愛搭理的,搞得我內心慌得一比,感覺涼涼。

1 介紹一下項目

2 你談到的并發(fā)技術,chm和countdownlatch怎么使用的

3 為什么要這么處理,使用線程池是不是也可以。我說也可以

4 操作系統(tǒng)的進程通信方式,僵尸進程和孤兒進程是什么,如何避免僵尸進程,我說讓父進程顯示通知,那父進程怎么知道子進程結束了,答不會。

5 計算機網(wǎng)絡TCP和UDP有什么區(qū)別,為什么迅雷下載是基于UDP的,我說FTP是基于TCP,而迅雷是p2p不需要TCP那么可靠的傳輸保證。

6 他說不對,我說是不是因為要建立連接,開銷比較大,他說不對

7 我說p2p的發(fā)送節(jié)點很多,所以不是那么需要各種傳輸保證,他說不對。

8 我說TCP會自動分包而TCP可以自己定義數(shù)據(jù)長度。。他還是說不對。

最后他說算了。我們問下一個吧。

9 操作系統(tǒng)的死鎖必要條件,如何避免死鎖。

10 寫一個LRU的緩存,需要完成超時淘汰和LRU淘汰。

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

于是我就寫了put和get函數(shù),進行了隊頭隊尾操作。

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

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

12 然后HR小姐姐讓我等結果了。溜了溜了

騰訊研發(fā)面經(jīng)

騰訊研發(fā)面經(jīng)


騰訊SNG

后臺開發(fā)工程師

大概是8月初投的簡歷,當時沒有選事業(yè)群,第二天直接被sng撈了,抓著我一頓面試。

一周內就面完了三次面試,接著就開始無盡的等待,整整等了三周左右,終于完成了四面和HR面。

整個過程還是比較曲折的,技術面試的難度也挺大的,不過他們部門也是Java線,所以還比較有的聊。結果目前還不知道。

1一面

一面:

1 有序數(shù)組排序,二分,復雜度

2 常見排序算法,說下快排過程,時間復雜度

3 有N個節(jié)點的滿二叉樹的高度。1+logN

4 朋友之間的點對點關系用圖維護,怎么判斷兩人是否是朋友,并查集,時間復雜度,過程。沒講清楚

1. 初始化元素

2. 實現(xiàn)元素與元素間的聯(lián)合操作

3. 實現(xiàn)查找元素所在樹的根節(jié)點

4. 解決一個問題,判定兩個元素是否在同一棵樹上(兩個元素是否相互連接)

5 單元點最短路的方法,時間復雜度

6 如何實現(xiàn)關鍵字輸入提示,使用字典樹,復雜度多少,有沒有其他方案,答哈希,如果是中文呢,分詞后建立字典樹?

7 hashmap的實現(xiàn)講一下吧,講的很詳細了。講一下紅黑樹的結構,查詢性能等。

8 Java中的垃圾回收講一下,講了分代,gc算法,gc root可達性分析等

9 講一下兩個項目你都做了什么把。

10 除了代碼之外你還學習了什么技術,框架。

11 死鎖是怎么產(chǎn)生的

12 線程和進程的區(qū)別

13 進程的通信方式

14 CPU的執(zhí)行方式

15 代碼中遇到進程阻塞,進程僵死,內存泄漏等情況怎么排查。通過ps查詢狀態(tài),分析dump文件等方式排查。

16 Linux了解么,查看進程狀態(tài)ps,查看cpu狀態(tài) top。查看占用端口的進程號netstat grep

17 10g文件,只有2g內存,怎么查找文件中指定的字符串出現(xiàn)位置。MapReduce分割文件處理。

他說可以用cat | grep 管道處理。

二面:

1 快排的時間復雜度,冒泡時間復雜度,快排是否穩(wěn)定,快排的過程

2 100w個數(shù),怎么找到前1000個最大的,堆排序,怎么構造,怎么調整,時間復雜度。

3 一個矩陣,從左上角到右下角,每個位置有一個權值。可以上下左右走,到達右下角的路徑權值最小怎么走。

先說了一下dfs遞歸實現(xiàn)。面試官說要優(yōu)化。

說了一下用迪杰斯特拉的思路,說可以。

4 四輛小車,每輛車加滿油可以走一公里,問怎么能讓一輛小車走最遠。說了好幾種方案,面試官引導我優(yōu)化了一下,但是還是不滿意,最后他說跳過。

5 hashmap的實現(xiàn),hashtable,concurrenthashmap實現(xiàn)。

6 MySQL的索引,B+樹性質。

7 Linux的cpu 100怎么排查,top jstack,日志,gui工具

8 Linux大文件怎么查某一行的內容。

9 Redis內存數(shù)據(jù)庫的內存指的是共享內存么

10 Redis的持久化方式

11 秒殺系統(tǒng)的架構設計

三面:

1 十億個數(shù)的集合和10w個數(shù)的集合,如何求它們的交集。

集合的數(shù)字不重復。

我講了兩次循環(huán),兩次hash,以及排序或者合并等方式。。都不對。后來面試官說是對小數(shù)組做hash,然后遍歷大數(shù)組即可。我完全想錯方向了。

2 十億和數(shù)找到前100個最大的,堆排序,怎么實現(xiàn),怎么調整。

3 TCP和UDP的區(qū)別,具體使用場景呢。

4 TCP四次揮手講一下過程,最后一次ack如果客戶端沒收到怎么辦。

5 對于socket編程,accept方法是干什么的,在三次握手中屬于第幾次,可以猜一下,為什么這么覺得。

6 Linux操作系統(tǒng)了解么,了解一點點,就沒問了。

7 對于單例模式,有什么使用場景了,講了全局id生成器,他問我分布式id生成器怎么實現(xiàn),說了zk,問我zk了解原理不,講了zab,然后就沒問啦。

8 除了單例模式,知道適配器模式怎么實現(xiàn)么,有什么用

9 回到網(wǎng)絡,剛才你說到直播場景,知道直播的架構怎么設計么,要點是什么,說了幾個不太對,他說要避免廣播風暴,答不會。

10 Redis和MySQL有什么區(qū)別,用于什么場景。

11 問了一下最近看什么書,什么時候開始寫博客的

12 問了還有幾輪面試,他說這輪我可以過,有點小驚喜

四面:

三面過了半個多月,終于安排四面了。

1 自我介紹

2 項目,收獲

3 Linux了解哪些,基礎命令和知識。問我proc文件系統(tǒng)了解么,答不了解。

4 TCP和UDP的核心區(qū)別在哪,講了滑動窗口保證可靠有序傳輸,UDP不可靠。TCP需要連接而UDP不需要。

5 TCP的四次揮手,time wait狀態(tài)有什么意義。

6 說完這個他問我有什么想問他的了。

7 我問他為什么隔了這么久才面試,而且之前三面都只是初試,然后他說最近他在休假,所以就。。。害我擔心了好久。他說接下來等HR面就行了。

HR面:


1 自我介紹

2 實習收獲

3 臺灣交流體驗

4 之前實習公司的情況,拿到offer了嗎,會如何選擇呢

5 排一下公司,部門,薪資和城市等因素。

6 你的優(yōu)缺點,如何改進

7 學生時代最成功的事

8 你的預期薪資

微信公眾號

個人公眾號:程序員黃小斜

?
黃小斜是 985 碩士,阿里巴巴Java工程師,在自學編程、技術求職、Java學習等方面有豐富經(jīng)驗和獨到見解,希望幫助到更多想要從事互聯(lián)網(wǎng)行業(yè)的程序員們。
?
作者專注于 JAVA 后端技術棧,熱衷于分享程序員干貨、學習經(jīng)驗、求職心得,以及自學編程和Java技術棧的相關干貨。
?
黃小斜是一個斜杠青年,堅持學習和寫作,相信終身學習的力量,希望和更多的程序員交朋友,一起進步和成長!

原創(chuàng)電子書:
關注微信公眾號【程序員黃小斜】后回復【原創(chuàng)電子書】即可領取我原創(chuàng)的電子書《菜鳥程序員修煉手冊:從技術小白到阿里巴巴Java工程師》這份電子書總結了我2年的Java學習之路,包括學習方法、技術總結、求職經(jīng)驗和面試技巧等內容,已經(jīng)幫助很多的程序員拿到了心儀的offer!

Java工程師研發(fā)面經(jīng)大合集

技術公眾號:程序員江湖

英雄不問出處,編程不看出身。這里是自學編程愛好者的聚集地,也是程序員IT學習資源的藏經(jīng)閣。點擊關注,一起成為更優(yōu)秀的程序員!

程序員3T技術學習資源:一些程序員學習技術的資源大禮包,關注公眾號【程序員江湖】后,后臺回復關鍵字 “資料”即可免費無套路獲取,包括Java、python、C++、大數(shù)據(jù)、機器學習、前端、移動端等方向的技術資料。

關注公眾號【程序員江湖】后回復「Java」、「Python」、「C++」、「大數(shù)據(jù)」、「算法」、「AI」、「Android」、「前端」、「iOS」、「BAT」、「校招」、「筆試」、「面試」、「計算機基礎」、「LeetCode」 等關鍵字可以獲取對應的免費程序員學習資料。


當前名稱:Java工程師研發(fā)面經(jīng)大合集
轉載注明:http://weahome.cn/article/ghpgei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部