【遲到的Java崗面經】面7家,意外收穫5家意向offer,越努力越幸運!

我的簡介

Java後臺開發方向。

非計算機專業碩士,專業涉及到一些開發。面試

實驗室項目主要是Java Web系統,挖掘小亮點。算法

回顧面試的那幾個月,宛若夢一場。sql

一開始心態很差,看到要學習的東西一大堆,沉不下心來學習,看什麼東西都是看着看着就很浮躁,開始瘋狂抖腿,沉迷幻想,覺得找工做只看少許面經重點便可。數據庫

總共投了三十多家公司,大小公司都有,想給本身多幾個機會,到提早批結束爲止只有十家左右有回覆。目前收到阿里盒馬、騰訊在線教育、網易嚴選、頭條抖音、華爲Cloud BU這幾個意向offer。編程

易緊張體質,一緊張就腸道蠕動汗如雨下,題目答得歪七歪八了,編程題也作不出來了,但面試面多一些緊張感就好一些,不考慮結果,只思考問題,就會好不少了。後端

分享一句雞湯:越努力越幸運。

阿里巴巴(盒馬,收到意向書)

全程電話面試。設計模式

故意比其餘公司晚投大半個月,倒是收到的第二個面試。數組

一面(約一個半小時)安全

自我介紹服務器

印象最深的項目?承擔職責?學到了什麼,技術、業務均可以說?項目裏的blabla是怎麼實現的,用到了什麼技術?項目分工?項目工程數量?項目分區和分層?

Servlet規範瞭解嗎?Servlet的整個業務流程?session和cookie的區別?session怎麼變成cookie,怎麼變回session?誰來實現整個流程?

項目提到的SSM框架裏面瞭解哪些?Spring IoC中Bean的生命週期?誰來管理Bean的生命週期?BeanFactory和ApplicationContext的關係?@Autowired和@Resource的區別? Spring的自動掃描怎麼實現的?誰實現的?

MyBatis介紹一下?你說到這是一個持久層框架,那你瞭解JPA規範嗎?(不知道)

UML瞭解嗎?(不會)設計模式?

Zookeeper瞭解嗎?(不會)

剛纔提到的分佈式實現多個應用的Session共享問題?

數據結構瞭解嗎?鏈表結構說一下?

算法瞭解嗎,比方說紅黑樹、二叉樹的算法?

學了這麼久的Java,你的技術棧規劃是怎麼樣的?

二面(部門主管面,約二十分鐘)

你是**專業的,你知道你報的是Java應用開發工程師嗎?你日常是怎麼學Java的?

面向對象有了解嗎?三個特性?

設計模式有了解嗎?單例模式、工廠模式、***模式……單例模式有什麼須要注意的嗎?(多線程併發問題:synchronized+volatile)你寫單例的時候若是這個單例對象有字段值,你會去改變這些字段值嗎?爲何呢?

日常用到全局變量嗎?爲何不用呢?

日常會作單元測試嗎?

。。。

HR面(約二十分鐘)

自我介紹

大家專業和軟件開發是否是不太相關?爲何報這個崗位?

你日常有作商業項目嗎?仍是都是實驗室的項目?有沒有實習?

你感受大學期間最有成就感的事情是什麼?

你有遇到過什麼特別大的挫折嗎?

你父母對你有什麼指望嗎?

你將來的職業規劃是如何?

你喜歡什麼樣的工做?

加班壓力能承受嗎?

將來的職業規劃?


網易(郵件,收到意向書)

公司現場面試。蜜汁面試,一面比一面短。

一面(約三十分鐘)

自我介紹

項目是否碰到特殊網絡環境?

ArrayList和LinkedList區別?

ArrayList和LinkedList是線程安全的嗎?爲何說他們不是線程安全的,舉實際場景?

有什麼線程安全的List?(CopyOnWriteArrayList)講一下怎麼實現線程安全的?(讀時複製,寫時共享,加鎖機制)

線程A和線程B同時針對一個共享變量進行操做,如何實現線程安全?

日常怎麼建立線程?線程池裏閒置線程怎麼保活?(不清楚,說了本身的想法)那怎麼喚醒?若是用wait()和notify(),對誰加鎖?

給一個數據庫表,ID、score兩個字段分別表明學生ID和成績,寫SQL語句求ID=?的學生排第幾名?

假設是InnoDB,給上述SQL語句加索引怎麼加?爲何這樣創建?彙集索引和非彙集索引有什麼區別?

二面(約二十分鐘)

自我介紹

介紹一下以爲作得最好的項目?畫一下項目的框架結構圖?Nginx用來作什麼?採用了什麼負載均衡策略?萬一某一個服務器掛掉怎麼辦?(一致性hash)若是添加一個節點呢?

Spring中Bean生命週期?提到的Aware相關接口指的是什麼?日常會本身會用Aware相關接口嗎?Bean生命週期這麼長是爲何?

JVM內存模型?若是給一個類,裏面只有一個main方法,方法裏面只有一句System.out.println(「helloworld」),問運行這個類會在Java內存模型裏發生什麼? 「helloworld」存儲在哪裏?

MySQL數據庫,給一個用戶表格,ID、用戶名、性別、用戶信息…,假設常常對性別字段進行查詢,問怎麼創建索引?爲何?假設用戶名須要是惟一的,問怎麼建索引?

HR面(十七分鐘)

自我介紹

介紹一下本身的專業?爲何找IT開發工做?

介紹一下最有成就感的項目?爲何以爲這個項目最有成就感?

爲何報了這個部門?

你以爲本身有什麼優點,能給這個部門帶來什麼?

講本身的三個優勢?

說一下本身的不足?

。。。


今日頭條(抖音,收到意向書)

牛客網視頻平臺面試,算法題在線編程一下午走完三面流程。

不涉及部門面試,面試官說三輪面試都是統招的。

一面(約五十分鐘)

自我介紹,主要講講作了什麼和擅長什麼

看你項目作Spring比較多,問一下Spring相關的東西,IoC是什麼概念?

Bean的默認做用範圍是什麼?其餘的做用範圍?

索引是什麼概念有什麼做用?MySQL裏主要有哪些索引結構?哈希索引和B+樹索引比較?

日常用線程主要是怎麼寫的,會用一些線程框架嗎?(沒有用框架)Java線程池的概念?線程池有哪些?線程池工廠有哪些線程池類型,及其線程池參數是什麼?

ConcurrentHashMap講一講?

Java GC機制?GC Roots有哪些?

Java bin包下面的工具用過哪些?

算法題:紅藍兩種球,總共N個, N>2, 排列組合,連續3個顏色同樣是非法的,求合法的排列數量

二面(約五十分鐘)

自我介紹

項目詢問:問了簡歷上寫得最先的項目的狀況,項目QPS?數據來源和傳輸形式?

發起一個HTTP請求的過程?剛纔提到DNS,DNS用的什麼傳輸層協議?爲何說用的是TCP協議?(我說其實我不清楚是用的什麼協議)他說那讓你設計的話用什麼協議比較合適?(思考了一下,說以爲UDP比較合適,比較輕量不佔用服務器帶寬,查了一下TCP和UDP都有,用在不一樣情境下)

TCP協議的三次握手和四次揮手過程?

同步IO和異步IO的區別?

操做系統的blablabla?(懵)算了,直接問你好了,select和epoll?

線程如何實現同步?

MySQL瞭解到什麼程度?binLog知道嗎?

描述一下堆排的過程?建堆的時間複雜度?最大堆中求前k個最大值的時間複雜度?

算法題:海島面積計算題,給一個矩陣,0表示海水,相連的1表示海島,上下左右表示相連。

00011

11011

10001

(1)求最大海島面積。

(2)求最大海島面積和對應海島的全部座標。

(3)求全部海島的全部座標,按海島分。

每小題講思路,最後寫第二題。

三面(綜合面,約五十分鐘)

自我介紹。

ConcurrentHashMap 在Java7和Java8中的區別?爲何Java8併發效率更好?什麼狀況下用HashMap,什麼狀況用ConcurrentHashMap?

加鎖有什麼機制?

ThreadLocal?應用場景?

Web容器用的什麼?你項目裏涉及了SSM框架,一個請求到Tomcat容器了,怎麼到SSM代碼中去?

網絡協議瞭解嗎?

**項目介紹一下是作什麼的?講一講學到什麼東西?

日常怎麼學習?

大學到如今遇到的最大困難是什麼?怎麼克服?事情太多的時候會有壓力嗎?

將來的規劃?

目前有offer嗎?

設計一個系統:用來促成交易,有多種商品,有購買方和賣出方,促成買家價格大於等於賣出價格的交易。


騰訊(在線教育,面試經過)

電話面+QQ遠程桌面作題。

一面(電話面,約一小時十分鐘)

自我介紹

以爲本身作得最好的項目?項目技術架構?

HashMap有了解嗎?HashMap的時間複雜度?HashMap中Hash衝突是怎麼解決的?鏈表的上一級結構是什麼?Java8中的HashMap有什麼變化?紅黑樹須要比較大小才能進行插入,是依據什麼進行比較的?其餘Hash衝突解決方式?

實現線程安全的方式?ThreadLocal原理?線程池瞭解嗎說說看?本身用線程池怎麼定參數?

Java堆中怎麼分區?怎麼判斷對象是否須要回收?Java內存佔用過大怎麼查看?Java內存溢出有碰到過嗎?Java內存溢出怎麼定位?

HTTP常見錯誤碼?TCP三次握手?

進程和線程的區別?日常的開發環境是Windows仍是Linux?Linux命令知道哪些?要在多個文本文件中找一個關鍵詞用什麼命令?(grep)網絡相關的命令是什麼?

MySQL數據庫引擎?應用場景?查詢優化?NoSQL有用或瞭解嗎?

排序算法瞭解哪些?Java裏內置的是用什麼排序方法?快排是穩定的嗎?快排排對象的時候有什麼問題?(提示我,三個字段,第一個字段和第二個字段作hash,第三個不作,仍是不太懂)

十億個IP,得到訪問次數最多的十個。

五個單詞,在一個長文本中查找是否存在。

Github有用嗎?日常有看一些博客和書籍嗎?日常有用腳本語言作一些方便本身的事情嗎?

二面(QQ遠程桌面作題)

算法題:

快速排序算法

實現一個lru ***

智力題:

一個五升桶,一個三升桶,怎麼倒出四升水,水能夠無限量使用

從4億qq號碼中,統計出出現次數top 10的號碼

三面(電話面,約一小時)

晚上十點鐘的電話,面試官聲音透露着疲憊。

目前有哪些Offer?地域傾向?怎麼選擇?

滴滴派發訂單功能設計?

有聲小說音頻自動匹配字幕情景題,有大量的音頻文件,非人力可以作到,語音識別匹配生成字幕文件,字幕文件中語音和字幕的時間需一致,如何設計?

Linux裏查看CPU佔用的命令?怎麼看CPU佔用?

。。。

四面(電話面,約一小時)

場景設計題:英雄聯盟H5小遊戲排名,實時動態更新,如何實現?

場景設計題:杭州G20形象工程須要擦窗子,估計杭州擦窗子要多少費用?

Java虛擬機相關問題

HR面

常規問題。


華爲(Cloud BU,收到offer call)

酒店現場面試。

一面(業務面,約半小時)

項目從後開始問,越早的項目問越多。

自我介紹

數據量多大?項目PG(PostgreSQL)版本?非結構化數據指的是什麼?有沒有考慮過nosql?分庫分表怎麼分?查詢的表會合並在一塊兒嗎?

項目性能有沒有考慮過?(我是作服務端的,主要考慮請求併發量)數據庫性能呢?(瞭解一點,MySQL主從結構)

請求到SSH框架的流程圖畫一下?遠程調用Shell腳本用到哪些命令?

Nginx原理了解嗎?(只用到負載均衡,介紹了一下負載均衡策略)

二面(綜合面,約半小時)

**項目介紹一下?用到了Nginx,用的七層仍是四層Nginx? HTTP仍是TCP?負載均衡策略用的是什麼?

項目負責主要作了哪些事情?學到了什麼東西?項目幾我的?怎麼樣分工?

業餘活動?平常時間安排?

爲何參加學生工做?學生工做帶給你最大的收穫是什麼?

華爲有什麼吸引你的地方?

爲何報**?


CVTE(HR面掛)

一面(電話面)

自我介紹

Spring Cloud用到什麼東西?如何實現負載均衡?服務掛了註冊中心怎麼判斷?

Spring的優勢?Spring AOP實現原理?AOP應用場景?攔截器用來作什麼業務?

MySQL數據庫引擎和應用場景?

MySQL行鎖是否會有死鎖的狀況?

MySQL事務隔離級別?

MySQL日常有索引優化嗎?怎麼去知道一個SQL語句需不須要優化?一個表,創建了索引(B,A),問where A=1 and B=2索引是否可以生效?

Java爲何說是面向對象的?

Java的三大特性?若是說有兩個方法,同名同參數但不一樣返回值,問是重載嗎?

日常用到哪些集合類?ArrayList和LinkedList區別?HashMap內部數據結構?ConcurrentHashMap分段鎖?

Volatile關鍵詞?是線程安全的嗎?

如何實現synchronized同樣的效果?

二面(視頻面,面試二十五分鐘)

自我介紹?

你是**專業的爲何來面Java後端?

印象最深的項目?爲何印象深?

Nginx負載均衡策略?

ip_hash的優缺點?

Nginx和其餘負載均衡框架對比過嗎?

Tomcat集羣Session共享問題?

MySQL採用了什麼存儲引擎,爲何?

樂觀鎖和悲觀鎖瞭解嗎?JDK中涉及到樂觀鎖和悲觀鎖的內容?

分佈式鎖?

SQL題

t_subject

——————————

c_id

c_student_uid 學生uid

c_teacher_uid 教師uid

c_subject_uid 科目uid

c_score 分數

平均分排名前三的學生uid和平均分數

給這個SQL語句建索引怎麼建?

算法題

輸入一個字符串String str,求重複次數最多的字符的第一個索引值

例如

輸入:"aabcbcbc"

輸出:2(b和c都出現了3次,但b在c前面)

HR面(視頻面,掛)

CVTE的HR面題目你們都同樣,未記錄。


網易遊戲(服務器端開發工程師-工具開發類,一面掛)

公司現場面試。

早上八點打車去濱江,巨緊張 QAQ 腸道一直蠕動,傻乎乎答錯了好幾個問題。

一面(掛)

9:40左右HR小姐姐讓我開始手寫編程題,說作半小時。

兩個面試官,約11:10左右結束面試。

編程題

判斷樹對稱

數組順時針旋轉90度

用wait和notify模擬生產者消費者模式

面試

自我介紹

項目問題

編程題:每題講解一下思路?第一題判斷樹對稱不用遞歸用棧怎麼作?(卡住了)第三題沒作完再寫一下?多個生產者和消費者的狀況下,你這個代碼怎麼修改?

public protected private區別?final和finally區別?final能夠用在方法參數上嗎?RuntimeException和非RuntimeException?各舉幾個例子?比方說文件讀寫的時候會有什麼異常?怎麼實現序列化?除了Java原生序列化方法,序列化還有什麼格式?

JVM內存模型?每一個區是作什麼的?垃圾回收機制?

synchronized 和 ReentranLock的區別?日常有用哪些集合類?Concurrent包有用嗎?

添加索引的SQL語句?給一個abc三個字段的索引,where a=0 order by c能用到索引嗎?where a=0 and b大於0 order by c能用到索引嗎?Hash索引和B樹索引的區別?Hash索引有區間查詢嗎?有沒有用nosql?

日常用到哪些設計模式?介紹一下***模式?***模式和裝飾器模式區別?

NIO和BIO區別?NIO怎麼寫?阻塞和非阻塞,同步和異步區別?

日常用到的框架和庫?有沒有用到網絡框架?Spring Cloud?中間件用到嗎?

電話+網頁寫代碼,全程一個多小時


拼多多(一面經過,未繼續後續面試)

約好現場面試時間和網易筆試時間衝突了 QAQ

聯繫人美心善的HR小姐姐幫我改爲了線上面試,電話+網頁寫代碼。

線上面試的緣由,流程很緩慢,二面在前幾天才聯繫我,想了想決定不參加了。

一面

項目介紹

項目問題

HTTP協議是什麼?HTTP格式?GET請求和POST請求的區別?

TCP協議?TCP三次握手?TCP三次握手過程當中什麼階段容易被攻擊?DDos攻擊?

Java垃圾回收機制講一下?

Linux有4G的物理內存,問開一個Java進程能夠給8G內存嗎?物理地址和虛擬地址的區別?

有一個Safer對象,用來管理對象,調用裏面的方法,不是線程安全的,怎麼處理?(同步、樂觀鎖)同步併發量不行,樂觀鎖對多個對象字段的狀況不行,除同步和樂觀鎖以外的方法?(ThreadLocal)

編程題(給20分鐘):輸入一個數組和一個整數,數組的長度、數組元素的範圍、整數的範圍都是1~20000,求數組中的某幾項加起來等於整數的可能性組合數?

四個注意點:數組未排序、可能有相同數、多個數相加也能夠不侷限於兩項相加、狀況總數。

例如輸入:10 5 3 7 5和15

先描述一下思路,而後寫。

有什麼問題,歡迎留言溝通,也祝你們都能找到一個合適的工做~


特別聲明:本文素材來源於網絡,僅做爲分享學習之用,若有侵權,請聯繫刪除!
相關文章
相關標籤/搜索