歡迎關注個人微信公衆號:「Java面試通關手冊」(堅持原創,分享美文,分享各類Java學習資源,面試題,以及企業級Java實戰項目回覆關鍵字免費領取):
今天分享一篇牛客網上的一個同窗分享的校招,這位同窗面試了不少公司,也總結了不少面試題目,面試題目大多都是平時能夠練習到了,好比轉鏈表和爬樓梯等算法問題在劍指offer上都有,我也已經更新在公衆號(「Java面試通關手冊」)上了,查看歷史信息便可看到。java
做者:633_重慶森林
連接:https://www.nowcoder.com/disc...
來源:牛客網mysql
整個三月份經過牛客網和網友分享的經驗學到了不少東西,如今反饋一下個人面試經歷,但願對同窗們有幫助。面試
我的狀況:大三本EE方向渣碩,通過實驗室學長內推,於三月底完成面試。崗位是Java研發。redis
心態必定要擺正,畢竟咱們不可能讓全部人都承認你。
並且每家公司每一個面試官的要求和風格都不同,因此咱們不要由於某家公司或者某個面試官的評價而懷疑本身。算法
掛了沒有關係,我們這個專業的優點不就在於就業面廣麼,如今基本上只要是個公司,就須要計算機相關專業的同窗。因此大不了,再投另外一家。spring
此外,樓主以爲比較重要的就是前期儘可能多參加面試,多在牛客網看面經,不要以爲本身還沒準備好就不敢去,面試是一個積累實戰經驗和提升的過程,多參加面試就是準備校招最直接最有效的方法。多投一些內推和提早批,不論是電話面試仍是現場面試,前期儘可能多參加,可能你最後並不會去這家公司,可是前期多面試多積累經驗,多發現本身的不足,對後面的校招,輪到你真正想去的公司的面試的時候,你就有足夠的(失敗)經驗了,不論是心態仍是薄弱點都調整的差很少了。若是已經拿到理想的offer的時候,再去考慮選擇性的參加也不遲。sql
Cvte提早批 阿里內推 便利蜂內推 小米內推 金山wps內推 多益網絡 拼多多學霸批 搜狗校招 塗鴉移動 中國電信it研發中心 中興 華爲 蘇寧內推 美團內推 百度 騰訊 招商銀行信用卡 招銀網絡科技 網易 Vivo
一面(電話)shell
自我介紹 介紹你的項目 加密解密瞭解麼?幾種算法,講一下你瞭解的 多線程瞭解麼?什麼是線程安全? 說一個你最熟悉的設計模式 講一下你項目中用到了哪些設計模式 Java的hashmap的原理 Hashmap的線程安全性,什麼是線程安全的?如何實現線程安全
二面(視頻)數據庫
自我介紹 介紹項目 Mysql的數據庫引擎,區別特色 設計模式瞭解?講一下最熟悉的 寫一個單例模式,答主寫的是雙檢查鎖單例,問了爲何用Volatile,synchronize移到方法最外面會怎麼樣? 單例模式在你項目裏哪些應用? 數據鏈接池 對高負載有了解麼 你意向的技術方向是哪塊?(答主回答的高併發,而後面試官說他是作高負載的) 對高併發有了解麼?
一面(電話)編程
據說你有博客,博客裏大概有什麼內容? 項目介紹,最複雜的表 Hashmap的原理 Hashmap爲何大小是2的冪次 介紹一下紅黑樹 Arraylist的原理 場景題:設計判斷論文抄襲的系統 堆排序的原理 抽象工廠和工廠方法模式的區別 工廠模式的思想 object類你知道的方法 哪裏用到了工廠模式 Forward和redirect的區別
二面(視頻)
自我介紹 項目介紹 項目架構 項目難點 Synchronize關鍵字爲何jdk1.5後效率提升了 線程池的使用時的注意事項 Spring中autowire和resourse關鍵字的區別 Hashmap的原理 Hashmap的大小爲何指定爲2的冪次 講一下線程狀態轉移圖 消息隊列了解麼 分佈式瞭解麼
做者:633_重慶森林
連接:https://www.nowcoder.com/disc...
來源:牛客網
一面(電話)
自我介紹 項目介紹 volatile和synchronized 來個算法題:一個無序數組,其中一個數字出現的次數大於其餘數字之和,求這個數字 (主元素) 答完再來一個:一個數組,有正有負,不改變順序的狀況下,求和最大的最長子序列 項目用到什麼數據庫?隔離級別?每一個隔離級別各作了什麼 數據庫的索引?mysql不一樣引擎索引的區別 垃圾回收算法的過程 你瞭解的垃圾收集器? Cms收集器的過程 怎樣進入老年代? 平時用到了什麼設計模式? 講一下你最熟的兩個設計模式 用過什麼系統?shell寫過腳本嗎?
一面(電話)
自我介紹 看你最近博客寫的是redis,介紹redis和mysql的區別 Redis的應用場景 Hashmap的原理 Hashmap中jdk1.8以後作了哪些優化 垃圾回收的過程 Jvm的參數設置 項目中的優化
一面(電話)
自我介紹 項目介紹 對Java的面向對象的理解 對java多線程的理解 數據庫的索引 數據庫的隔離級別 設計模式的理解 講幾個設計模式 對算法有什麼瞭解?答主先回答了動態規劃,解釋了一下dp的思想 快排的思想講一下
二面(電話)
自我介紹 項目介紹 Tcp怎麼保證可靠傳輸(中間穿插了好多小問題) Tcp的擁塞控制 讓你設計一個即時聊天的系統 支付寶轉帳,是如何實現,幾個小時通知轉帳成功的(面試官想讓回答長鏈接,答主一直沒get到點) 解釋一下長鏈接
一面(視頻)
自我介紹 對面向對象的理解 介紹多態 Java新建線程有哪幾種方式 線程池的做用 看過框架源碼麼
一面(現場面)
自我介紹 項目介紹 手撕算法:一棵二叉排序樹,給定一個數,找到與給定數差值最小的數 場景題:設計一個系統,解決搶購時所須要的大量的短連接的功能,如何保證高併發,如何設計短連接
二面(現場面)
代碼量多少 給了一張紙,各類名詞,會的寫出來 而後給它解釋那些會的 設計題:設計一個系統,記錄qq用戶前一天的登陸狀態,提供16g內存和2tb的硬盤,要作到查詢指定qq號的前一天的登陸狀態,快速查詢O(1)複雜度
一面(現場):
自我介紹 項目介紹 手撕算法:兩個排序的數組A和B分別含有m和n個數,找到兩個排序數組的中位數,答主用的二分,時間複雜度爲O(log (m+n))。結果面試官不滿意,讓用歸併的思想作,時間複雜度其實更高了 介紹網絡編程
一面(現場)
自我介紹 項目介紹 數據庫的索引原理 索引使用的注意事項 數據庫的引擎 Java垃圾回收機制 Java的finalize,finally,final三個關鍵字的區別和應用場景 String類能夠被繼承麼 手撕算法:假設你是一個專業的竊賊,準備沿着一條街打劫房屋。每一個房子都存放着特定金額的錢。 你面臨的惟一約束條件是:相鄰的房子裝着相互聯繫的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。 給定一個非負整數列表,表示每一個房子中存放的錢, 算一算,若是今晚去打劫,你最多能夠獲得多少錢 在不觸動報警裝置的狀況下。
二面(電話)
自我介紹 對遊戲的瞭解 項目介紹 算法題:給一個整數數組,找到兩個數使得他們的和等於一個給定的數 target。 紅黑樹 Redis的應用
一面(現場)
自我介紹 項目介紹 項目裏用的什麼服務器 本身寫一個tomcat服務器,你會怎麼寫 分佈式服務器會出現哪些問題 怎麼解決session一致性緩存的問題 Redis的優點和特色 一千萬用戶併發搶購,怎麼設計 若是成功的用戶有10萬,redis存不下怎麼處理 你項目中的難點
二面(現場)
自我介紹 項目介紹 介紹spring中的熟悉的註解 讓你實現autowire註解的功能你會如何實現 Redis和mysql的區別 Redis的持久化有哪些方式,具體原理
專業面(現場)
自我介紹 項目介紹 你瞭解的設計模式,講兩個 Java collection類,集合,講兩個你瞭解的,說實現原理 Java線程池的做用 你以爲你在你實驗室處於什麼水平
綜合面試(現場)
說好的綜合面試純聊天呢?
自我介紹 項目介紹 說一下你知道的設計模式 畫一個策略模式的uml圖 Java多線程的理解 內存屏障是什麼 數據庫索引 項目中的優化 你的缺點,你最不喜歡什麼樣的人,你的家庭等等
而後開始聊人生
一面(現場)
自我介紹 項目介紹 項目架構 項目一個完整的執行流程(因爲我是搞java的,而面試官是搞c的,因此全程尬聊) 項目優化
二面(現場)
自我介紹 項目介紹 怎麼管理項目進度 日常的愛好 感受面試官也不是搞java的,因此又是一陣尬聊
一面(現場)
自我介紹 項目介紹 面過哪些公司了 有哪些offer了 聊到多益,因而開始聊最近微博上很火的多益老闆 得出結論,我和麪試官都以爲多益老闆三觀有問題,但作遊戲就是要偏執的人 你博客主要哪方面的 多線程併發包瞭解麼 講一下countDownLatch
蘇寧聊了20分鐘八卦就面完了,一輪技術面
一面(電話)
自我介紹 項目介紹 Redis介紹 瞭解redis源碼麼 瞭解redis集羣麼 Hashmap的原理 hashmap容量爲何是2的冪次 hashset的源碼 object類你知道的方法 hashcode和equals 你重寫過hashcode和equals麼,要注意什麼 假設如今一個學生類,有學號和姓名,我如今hashcode方法重寫的時候,只將學號參與計算,會出現什麼狀況? 往set裏面put一個學生對象,而後將這個學生對象的學號改了,再put進去,能夠放進set麼?並講出爲何 Redis的持久化?有哪些方式,原理是什麼? 講一下穩定的排序算法和不穩定的排序算法 講一下快速排序的思想
二面(現場)
自我介紹 講一下數據的acid 什麼是一致性 什麼是隔離性 Mysql的隔離級別 每一個隔離級別是如何解決 Mysql要加上nextkey鎖,語句該怎麼寫 Java的內存模型,垃圾回收 線程池的參數 每一個參數解釋一遍 而後面試官設置了每一個參數,給了是個線程,讓描述出完整的線程池執行的流程 Nio和IO有什麼區別 Nio和aio的區別 Spring的aop怎麼實現 Spring的aop有哪些實現方式 動態代理的實現方式和區別 Linux瞭解麼 怎麼查看系統負載 Cpu load的參數若是爲4,描述一下如今系統處於什麼狀況 Linux,查找磁盤上最大的文件的命令 Linux,如何查看系統日誌文件 手撕算法:leeetcode原題 22,Generate Parentheses,給定 n 對括號,請寫一個函數以將其生成新的括號組合,並返回全部組合結果。
三面沒怎麼問技術,問了不少技術管理方面的問題
自我介紹 項目介紹 怎麼管理項目成員 當意見不一致時,如何溝通並說服開發成員,並舉個例子 怎麼保證項目的進度 數據庫的索引原理 非聚簇索引和聚簇索引 索引的使用注意事項 聯合索引 從底層解釋最左匹配原則 Mysql對聯合索引有優化麼?會自動調整順序麼?哪一個版本開始優化? Redis的應用 Redis的持久化的方式和原理 技術選型,一個新技術和一個穩定的舊技術,你會怎麼選擇,選擇的考慮有哪些 說你印象最深的美團點評技術團隊的三篇博客 最近在學什麼新技術 你是怎麼去接觸一門新技術的 會看哪些書 怎麼選擇要看的書
一面(現場)
自我介紹 Java中的多態 Object類下的方法 Finalize的做用和使用場景 Hashcode和equals 爲何要同時重寫hashcode和equals 不一樣時重寫會出現哪些問題 Hashmap的原理 Hashmap如何變線程安全,每種方式的優缺點 垃圾回收機制 Jvm的參數你知道的說一下 設計模式瞭解的說一下啊 手撕一個單例模式 快速排序的思想講一下 給個數組,模擬快排的過程 手寫快排 設計題,一個圖書館管理系統,數據庫怎麼設計,需求本身定
二面(現場)
自我介紹 項目介紹 Redis的特色 分佈式事務瞭解麼 反爬蟲的機制,有哪些方式 手撕算法:反轉單鏈表 手撕算法:實現相似微博子結構的數據結構,輸入一系列父子關係,輸出一個相似微博評論的父子結構圖 手寫java多線程 手寫java的soeket編程,服務端和客戶端 進程間的通訊方式 手撕算法: 爬樓梯,寫出狀態轉移方程 智力題:時針分針何時重合
三面(現場)
因爲三面面試官不懂java,我不熟c加加,因此全程尬聊
自我介紹 項目介紹 手撕算法:給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步能夠移動到下面一行的相鄰數字上。 而後繼續在這個問題上擴展 求出最短那條的路徑 遞歸求出全部的路徑 設計模式講一下熟悉的 會不會濫用設計模式 多線程條件變量爲何要在while體裏 你遇到什麼挫折
一面(現場)
自我介紹 項目介紹 Hibernate的做用,你的理解 多線程的理解,如何保證線程安全 mysql數據庫的引擎和區別 場景題:千萬用戶搶購,如何處理高併發,而且有一個連接,指向前一天搶購成功的用戶,如何設計這個系統和數據庫 若是後臺處理搶購請求的服務器,每次最多承受200的負載,系統該怎麼設計 手撕算法:最小公倍數和最大公約數
二面
自我介紹 項目介紹 項目裏一個完整請求的流程 項目的優化 Hibernate和mybatis的區別 爲何用ssh框架 Mysql的容災備份 Redis和memcache 的區別 爲何選擇redis Java的full gc Full gc會致使什麼問題
一面
自我介紹 分佈式事務 設計模式 訪問者模式 裝飾者模式 有哪些offer 爲何還來咱們這
一面
自我介紹 寫一個兩個有序鏈表合併成一個有序鏈表 死鎖是什麼呢 怎麼解決死鎖 http請求流程 爲何負載均衡 怎麼實現負載均衡 數據庫掛了怎麼辦?除了熱備份還有什麼方法 講講你對spring的理解,不要把ioc和aop背給我聽
二面
自我介紹 項目介紹 算法:找出兩個數組相等的數,不能用其餘數據結構 算法:給定一個數字,一個數組,找出數組中相加等於這兩個數的和,不能用數據結構 算法:如何判斷一個樹是否是另外一顆樹的子樹 如何解決併發訪問的錯誤
一面(現場)
自我介紹 項目介紹 I++操做怎麼保證線程安全 場景題:設計一個下單系統,下單成功後能夠給用戶發優惠券 接上面場景題:服務器掛了,優惠券還沒發怎麼辦 數據庫掛了怎麼怎麼辦 怎麼保證一致性 分佈式事務知道麼 介紹分佈式事務 你的職業規劃
二面
自我介紹 項目介紹 Nio的原理 Channel和buffer directBuffer和buffer的區別 nio和aio的區別 鎖的實現原理 怎麼解決緩存和主存的一致性問題 緩存還沒更新到主存,服務器掛了怎麼辦 數據庫掛了怎麼辦
一面
自我介紹 項目介紹 Hibernate的batch有數量限制麼 Jquery用過麼 Extjs的優缺點 有沒有擴展過extjs 讀寫鎖 何時用讀鎖 何時用寫鎖 Cas的原理,使用場景 數據庫的瓶頸
春招實習之路真的是很艱辛,本身原本也不是CS方向的,不少基礎課和本專業的同窗差距真的太多,可是隻要足夠努力,一定會獲得一個滿意的結果,路漫漫其修遠兮,吾將上下而求索。你們加油!