2020年,跳槽面試就靠它們了,現在每天刷題,看源碼文檔,最近看的這些題目還是有些難度,有一部分我都要好好想一想才能回答出來,或者回答不出來,總的來說知識寬度夠了深度還跟不上。所以要重點突破下底層的東西。這篇文章我總結了很久,希望對正在準備面試的同仁們有點幫助。沒錯我就是傳說中的麵霸!!
一. 面試準備
首先,是筆試題,這點是初級程序員繞不過去的坎。
筆試題一般的公司都會出的,除非你是大牛,可以選擇不做。所以,還是老老實實的準備吧。
這裡列舉下一些比較常見出現的問題
- JAVA
- 5個常用的java-api包。
- String類中常用的5個方法。
- API接口開發的注意事項。
- TCP/IP、HTTP協議。
- 集合相關的問題(重點)
- HashMap、TreeMap、Hashtable、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的實現和區別之類的。
- 上述集合中的那些是線程安全的,那些不是。
- 在那些場景使用這些集合。
- List、Map、Set三個接口,存取元素時,各有什麼特點。
- 線程相關問題(重點)
- 創建線程的幾種方式。
- 線程同步的方法。
- wait和sleep區別。
- Runnable接口和Callable接口的區別。
- 如何實現線程安全。
- 框架相關知識(這塊反而不多)
- Mybatis#和$的區別.
- Hibernate和Mybatis的區別。
- Spring MVC和Struts2的區別.
- Hibernate的緩存機制。
- 什麼是Hibernate延遲加載.
- 為什麼要用spring。
- SQL(主要考察Group by和Order by相關知識)
- 查詢每個班級成績最高的學生。
- 查找出每個班級成績第二的學生。
- 按照班級查詢每個班上總分前三的學生。
- 查找入職員工時間排名倒數第三的員工所有信息。
- 薪水排序後薪水排名在第2–8的員工。
- 按工資進行排名,排名從1開始,工資相同排名相同(如果兩人並列第一則沒有第二名,從第三名繼續排)。
- 用一條sql語句取出所有姓名有重複的學員姓名和重複的記錄數。
- JavaScript/JSP/Servet (這些一般是基礎題)
- JSP的內置對象以及作用。
- JSTL的常用標籤。
- Servlet的生命週期。
- URL和URI的區別。
- Ajax同步和異步的區別。
- 使用ajax發送異步請求的流程。
- 其它
- &和&&的區別。
- ==和equals的區別。
- int和Integer的自動拆箱/裝箱相關問題。
- IO和NIO的區別。
- final、finally、finalize的區別。
- 重載(Overload)和重寫(Override)的區別。
- String、StringBuffer和StringBuilder的區別。
- 如何實現淺克隆和深克隆。
- 單例模式的實現以及最優。
- 排序的實現(冒泡、選擇、快速等)。
- 去除重複的元素(實際是重寫equals和hashcode)。
二.面試流程
現在有不少公司先是人事面試,然後技術面試。所以在人事這塊談論工資的時候,最好不要說死,或者先不談,留著技術面試過了之後再談。有點因為在工資待遇這塊沒談好,就直接走人了。畢竟面試雙方都要花費不少時間,所以這塊需注意!
在相談的時候,要注意禮貌,無論是否成功,都應該注意言行和態度。
在面試結束之後,理應說聲感謝!畢竟面試其實也是成長的一種。
三.面試技巧
個人能力這方面無非兩個方面,廣度和深度。
技巧很簡單,就是說自己擅長的。技術掌握廣,但是不深,就可以將自己的技術廣度多說點,順便可以提下自己的優點例如:學習新技術很快;技術掌握深,但是不廣,就可以將掌握的深度多說點,可以提下自己在學習這塊的專研度。如果在這兩點都沒有太明顯的優點的,可以嘗試從項目業務說,最好將項目吃透。與面試官相談的切記要誠實,不要弄虛作假。碰到不會的或者瞭解不深的,直接跳過,最好將面試官引導到自己擅長的領域。
【阿里天貓、螞蟻、釘釘面試專題題目加答案】
不會做彆著急:文末有答案以及視頻講解,架構師資料
- 1. junit用法,before,beforeClass,after, afterClass的執行順序
- 2. 分佈式鎖
- 3. nginx的請求轉發算法,如何配置根據權重轉發
- 4. 用hashmap實現redis有什麼問題(死鎖,死循環,可用ConcurrentHashmap)
- 5. 線程的狀態
- 5. 線程的阻塞的方式
- 6. sleep和wait的區別
- 7. hashmap的底層實現
- 8. 一萬個人搶100個紅包,如何實現(不用隊列),如何保證2個人不能搶到同一個紅包,可用分佈式鎖
- 9. java內存模型,垃圾回收機制,不可達算法
- 10. 兩個Integer的引用對象傳給一個swap方法在方法內部交換引用,返回後,兩個引用的值是否會發現變化
- 11. aop的底層實現,動態代理是如何動態,假如有100個對象,如何動態的為這100個對象代理
- 12. 是否用過maven install。 maven test。git(make install是安裝本地jar包)
- 13. tomcat的各種配置,如何配置docBase
- 14. spring的bean配置的幾種方式
- 15. web.xml的配置
- 16. spring的監聽器。
- 17. zookeeper的實現機制,有緩存,如何存儲註冊服務的
- 18. IO會阻塞嗎?readLine是不是阻塞的
- 19. 用過spring的線程池還是java的線程池?
- 20. 字符串的格式化方法 (20,21這兩個問題問的太低級了)
- 21. 時間的格式化方法
- 22. 定時器用什麼做的
- 23. 線程如何退出結束
- 24. java有哪些鎖?樂觀鎖 悲觀鎖 synchronized 可重入鎖 讀寫鎖,用過reentrantlock嗎?reentrantlock與synmchronized的區別
- 25. ThreadLocal的使用場景
- 26. java的內存模型,垃圾回收機制
- 27. 為什麼線程執行要調用start而不是直接run(直接run,跟普通方法沒什麼區別,先調start,run才會作為一個線程方法運行)
- 28. qmq消息的實現機制(qmq是去哪兒網自己封裝的消息隊列)
- 29. 遍歷hashmap的三種方式
- 30. jvm的一些命令
- 31. memcache和redis的區別
- 32. mysql的行級鎖加在哪個位置
- 33. ConcurrentHashmap的鎖是如何加的?是不是分段越多越好
- 34. myisam和innodb的區別(innodb是行級鎖,myisam是表級鎖)
- 35. mysql其他的性能優化方式
- 36. linux系統日誌在哪裡看
- 37. 如何查看網絡進程
- 38. 統計一個整數的二進制表示中bit為1的個數
- 39. jvm內存模型,java內存模型
面試專題答案
設計模式面試專題以及答案.pdf
面試必備的悲觀鎖與樂觀鎖.pdf
SpringCloud面試專題以及答案.pdf
Redis面試專題以及答案上.pdf
Redis面試專題以及答案下.pdf
SpringBoot面試專題以及答案.pdf
SpringMvc面試專題以及答案.pdf
併發編程面試專題以及答案.pdf
多線程面試專題以及答案.pdf
【阿里巴巴面試題目】
- 40. 如何把java內存的數據全部dump出來
- 41. 如何手動觸發全量回收垃圾,如何立即觸發垃圾回收
- 42. hashmap如果只有一個寫其他全讀會出什麼問題
- 43. git rebase
- 44. mongodb和hbase的區別
- 45. 如何解決併發問題
- 46. volatile的用途
- 47. java線程池(好像之前我的理解有問題)
- 48. mysql的binlog
- 49. 代理模式
- 50. mysql是如何實現事務的
- 51. 讀寫分離何時強制要讀主庫,讀哪個從庫是通過什麼方式決定的,從庫的同步mysql用的什麼方式
- 52. mysql的存儲引擎
- 53. mysql的默認隔離級別,其他隔離級別
- 54. 將一個鏈表反轉(用三個指針,但是每次只發轉一個)
- 55. spring Aop的實現原理,具體說說
- 56. 何時會內存洩漏,內存洩漏會拋哪些異常
- 57. 是否用過Autowire註解
- 58. spring的注入bean的方式
- 59. sql語句各種條件的執行順序,如select, where, order by, group by
- 60. select xx from xx where xx and xx order by xx limit xx; 如何優化這個(看explain)
- 61. 四則元算寫代碼
- 62. 統計100G的ip文件中出現ip次數最多的100個ip
- 63. zookeeper的事物,結點,服務提供方掛了如何告知消費方
- 64. 5臺服務器如何選出leader(選舉算法)
- 65. 適配器和代理模式的區別
- 66. 讀寫鎖
- 67. static加鎖
- 68. 事務隔離級別
- 69. 門面模式,類圖(外觀模式)
- 70. mybatis如何映射表結構
- 71. 二叉樹遍歷
- 72. 主從複製
- 73. mysql引擎區別
- 74. 靜態內部類加載到了哪個區?方法區
- 75. class文件編譯後加載到了哪
- 76. web的http請求如何整體響應時間變長導致處理的請求數變少,該如何處理?用隊列,當處理不了那麼多http請求時將請求放到隊列
- 中慢慢處理,web如何實現隊列
- 77. 線程安全的單例模式
- 78. 快速排序性能考慮
- 79. volatile關鍵字用法
【阿里巴巴面試題目含答案】
由於專題資料太多了,就不一一給大家列舉出來了,祝大家早日面試進阿里,想要獲取以上面試專題資料可以:
關注我,私信回覆“面試”即可免費獲取
注意:需要關注我才可以給我發私信
希望大家獲取資料後可以早日面上阿里,轉發此篇文章可以快速獲取資料,謝謝大家,如果有補充,可以在評論區,歡迎大家補充!!!
閱讀更多 Java架構胖胖 的文章