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)。
二.面試流程
現在有不少公司先是人事面試,然後技術面試。所以在人事這塊談論工資的時候,最好不要說死,或者先不談,留著技術面試過了之後再談。有點因為在工資待遇這塊沒談好,就直接走人了。畢竟面試雙方都要花費不少時間,所以這塊需注意!
在相談的時候,要注意禮貌,無論是否成功,都應該注意言行和態度。
在面試結束之後,理應說聲感謝!畢竟面試其實也是成長的一種。
三.面試技巧
個人能力這方面無非兩個方面,廣度和深度。
技巧很簡單,就是說自己擅長的。技術掌握廣,但是不深,就可以將自己的技術廣度多說點,順便可以提下自己的優點例如:學習新技術很快;技術掌握深,但是不廣,就可以將掌握的深度多說點,可以提下自己在學習這塊的專研度。如果在這兩點都沒有太明顯的優點的,可以嘗試從專案業務說,最好將專案吃透。與面試官相談的切記要誠實,不要弄虛作假。碰到不會的或者瞭解不深的,直接跳過,最好將面試官引導到自己擅長的領域。