面試經驗分享(我的真實經歷)
本文是我的面試的真實經驗,在這裏與你們分享,但願能夠幫到最近正在求職的小夥伴們,若有邏輯或者答案不對的地方,歡迎大佬們指正,咱們一塊兒進步哈!html
Java基礎面試題確定是要掌握的(否則初試就涼涼)
所謂的初試,大部分是那些hr溝通後進行的電話面試,或者是在第一次電話聯繫中和你說明他們公司需求後的狀況下隨機問的一些問題,目的是測試你是否有任職這個崗位的基礎能力(說白了我感受是在試水),下面分享一下我初試問到的問題:前端
一. 電話面試真實被問過的問題(平均面試時間大約在20分鐘左右):java
- 有了解過Java的集合嗎,能不能歸納說一下都有什麼?
- HashMap和HashTable有什麼區別嗎?能簡單說說嗎?
- 當你說了某個集合後,面試官會問:「那你瞭解過他的底層原理嗎?例如HashMap爲何採用數組加鏈表的樹結構?」
- 那你除了XXX集合還了解過其餘的嗎?
- 你說的這些那些是線程安全的,哪些是不安全的?哪些是有序的,哪些是無序的?
- 通常都用什麼框架呢?分佈式掌握的怎麼樣?有涉及過嗎?
- SpringMvc瞭解嗎?能簡單說一下它的運行流程嗎?
- 看你寫簡歷上有寫用過SSM,能說一下Mybatis嗎?
- MyBatis的二級緩存瞭解過嗎?能夠簡單解釋一下嗎?
- AOP和IOC知道嗎?能夠說一下嗎?
- MyBatis裏${}和#{}的區別?什麼是SQL注入?
- Spring的經常使用註解知道多少,能夠說一下嗎?
- 你以爲Spring好在哪裏?
- 有用過SpringBoot嗎?能簡單說一下它的啓動原理嗎?
- SpringBoot的經常使用註解能說一下嗎?
- 數據庫用的什麼?對數據庫這方面能力怎麼樣?
- MySql的存儲引擎有什麼?有什麼區別?
- 能夠說一下數據庫優化嗎?有什麼優化方式?
- 索引瞭解過嗎?建立索引有什麼前提或者是原則要求嗎?
- 事務隔離級別知道嗎?每一個級別會引起什麼事情?MySql的默認級別是什麼?
- 樂觀鎖和悲觀鎖知道嗎?請簡單說一下
- 行級鎖和表級鎖瞭解過嗎?怎麼實現的知道嗎?
- sql語句優化掌握多少,說一下一些你用過的關鍵詞?
- 什麼是視圖知道嗎?
- 那數據庫的三範式瞭解過嗎?
- 非靜態資源能夠調用靜態資源裏的常量嗎?
- 有用過redis嗎?redis的持久化機制有了解過嗎?
- redis的數據類型?以及應用場景?
- 能夠解釋什麼是緩存雪崩嗎?什麼是緩存穿透?
- 你以前寫的項目有用到redis嗎?若是有的話爲何要用呢?起到什麼做用呢?
- 消息隊列有接觸過嗎?你通常都用什麼中間件?
- 前端框架了解多少?用過JQuery嗎?
- jvm瞭解嗎?
- 有用過多線程嗎?用來幹嗎的?
- GC垃圾回收處理機制瞭解嗎?能簡單說說嗎?
- 微服務瞭解嗎?
- Http協議和Tcp協議瞭解嗎?他們有啥區別嗎?
- linux有用過嗎?簡單的操做指令知道嗎?
- sychronized和lock有什麼區別嗎?你經常使用的是哪種?
- Zookeeper有用過嗎?
- 你平時都怎麼建立線程的?有哪幾wen種方式?
- String\StringBuffer\StringBuilder的區別?
我的總結:
我的感受問的都是一些簡單基礎的知識,回答的不須要特別的深,可是必定要表達清楚;大部分hr應該問的都是他們以爲須要的技術的基礎問題,固然不包括本身簡歷上寫本身所掌握的技術棧,過程當中要自信一點,不要回答的太流暢,會被認爲在背書,也不要一直支支吾吾,那樣會被認爲不夠熟悉,能力較強的能夠把個別的問題和項目連起來解釋,通俗的解釋我以爲比官方的好一點。
linux
對本身的項目要有必定了解,簡歷上的技術棧把本身熟悉的放在前面,不熟悉的儘可能不要寫,避免給本身挖坑。
2、複試被問的問題總結(就是電話面試後來電話通知現場面試或者視頻面試的)
複試的問題大部分都是面試官對着你的簡歷問的一些問題(能夠理解爲對基礎理論問題的升級版),有的公司喜歡問項目裏的技術點,還有的也喜歡問項目裏的細節問題。話很少說,我們直接切入正題(實際狀況仍是按照你們本身的簡歷上的技術棧內容,下面是本人的大體內容,你們能夠參考一下):
面試
- 看了你的簡歷,上面有寫了解一些前端的基礎?能說下JQuery的構造器和選擇器嗎?經常使用的哪幾種?
- 能不能說一下你上一個項目遇到的技術難點?有解決嗎?怎樣解決的?
- Spring經常使用註解能夠說一下?@Autowired註解瞭解過嗎,能夠解釋一下嗎?通常用在什麼地方?若是我如今在Service層裏放一個這個註解,而後下面放一個自定義方法,裏面寫了一個輸出語句,運行時候能輸出來嗎?
- 若是我想在spring boot裏面建立一個Bean,該怎麼作?
- 看你簡歷有用過ngnix,說一下什麼是正向代理,什麼是反向代理?那我如今若是想獲取我客戶端的本地IP地址,該怎麼拿到?
- ngnix的操做指令熟悉嗎?簡單說兩個經常使用指令?有本身配置過嗎?
- linux有本身部署過嗎?操做指令瞭解嗎?若是我想導入外部文件該怎麼導入?須要進行哪幾步?
- Sql語句掌握的怎麼樣?若是有兩個sql,sqlA和sqlB,sqlA裏面想引用sqlB,那麼這個sql語句排序該怎麼排?誰在前,誰在後?
- 如今我新建了一個表,表裏有兩個字段a\b,我若是寫了select * from 表名 where a=?,b=?;請問這個用到索引了嘛?
- 能夠說一下java支持的數據類型有哪些?什麼是自動拆裝箱?
- comparable和comparator接口都是幹嗎的?有什麼區別嘛?
- 數據庫的分庫分表有接觸過嗎?能不能說一下怎麼操做的?
- 多表聯查會嗎,若是我想把兩個表連在一塊兒,而後查詢某個信息你會怎麼作?
- 你有使用過圖片上傳是吧?用的是什麼形式,是動靜分離嗎?上傳的流程能夠簡單說一下嗎?
- 你這簡歷裏的項目有哪幾個是上線的?訪問量怎麼樣?數據庫有遇到什麼問題嗎?
- 若是出現了高併發的情況你會怎麼處理?
- 有用過shiro是吧?能不能說一下shiro的註解,核心註解是什麼?Spring全家桶裏也有安全模塊,爲何採用了shiro呢?
- 你有過es?知道es主要是幹嗎的嗎?
- 消息隊列了解過嗎?我看你用過RabbitMq,能簡單說說這個中間件有什麼優勢嗎,就是採用他的緣由?
- 那若是發送消息的時候出現消息丟失你該怎麼辦?你怎麼確認客戶端是否收到了你發送的消息?
- 你應該接觸過Java集合把?那咱們說一下這個Java集合體系?你先說一下,就從collection下面開始說把;(後面就所有的說了一遍)
- HashMap的底層數據結構能說出來嗎?能詳細解釋一下嗎?它的存儲是根據鍵值對是吧?那你知道list的數據結構嗎?那如今若是我把在HashMap裏的鍵值對給拿出來封裝一下,而後用LIST,能夠達到同樣的效果嗎?其中的大概你明白嗎?用set下的HashMap和list下的linkedlist哪一個效率高,爲何?
- 能不能說一下你平時建立索引都怎麼建立?舉幾個例子看看?
- 能不能把你最近接觸的一個項目的模塊功能大概說一下,你負責了哪些?主要採用了什麼技術?是本身獨立完成的嗎?上一個公司工做的團隊任務分工?
- Tcp三次握手和四次揮手的流程原理了解過嗎?
- 若是我想使用線程安全的hashmap有什麼方法嗎?
- 你在參與上一個項目中碰到的異常都有哪些?請說一下?
我的小結:我把個別公司二面的之後的都放在一塊兒了,你們能夠看看,面試過程當中有的問題我也是沒徹底理解面試官的意思。。。,不過能夠肯定地就是他問的都是項目裏的技術點和一些細節,我的感受面試官在瞭解你能力的同時也在側面考察你是否是作過這些項目,大部分問的問題都在這裏,建議你們面試前過一遍項目,有的時候小細節就是他們想問的;還有一部分就是他問的算法部分,你們有感興趣的能夠留言,我會盡快分享出來。redis