概述html
年中或者年末績效出來後,老是幾家歡樂幾家愁。績效好的機會多的老闆信任的,會更加有幹勁。績效很差的,老闆不看好的,可能就會有離職的衝動。
若是你有離職的想法,那麼仍是須要花一些時間準備一下,畢竟如今外面好的互聯網公司對程序員的要求仍是蠻高的,須要你有各類能耐。java
這篇文章主要是介紹一下我本身從畢業到如今碰到的一些面試題。部分題目給出了答案,部分試題則沒有。mysql
int 佔用幾個字節linux
答案:
4個程序員
不用第三個變量,如何交換兩個變量的值面試
public class TestSwitchVar {
public static void main(String[] args) {
int a = 1;
int b = 2;
a = a + b;
b = a - b;
a = a - b;
System.out.println(a);
System.out.println(b);
}
}複製代碼
JAVA動態代理使用什麼技術實現的redis
答案:
反射算法
JAVA類加載器的原理spring
答案:
學習JAVA類加載器sql
HashSet的add方法是如何實現的,如何去重的;
答案:
HashSet的底層是使用HashMap來實現的,調用add方法的時候,底層也是用HashMap的put方法來實現的。HashSet之因此具有去重的能力,也是由於HashMap的put方法中,若是發現key已經存在了,會覆蓋key對應的值,可是對於HashSet來講,仍是原來那個key。也就是說Key set並無任何變更。
HashMap的實現原理;
答案:
看我以前寫的HashMap的put和get方法原理和 HashMap擴容以及HashMap多線程下發生死循環的緣由 這幾篇博文便可。
JDK 1.7 ConcurrentHashMap的實現原理
ArrayList是線程安全的嗎
CopyOnWriteArrayList是如何實現線程安全的;
描述JAVA NIO的工做原理,相比JAVA IO有什麼優點
答案:
學習NIO
sleep方法和wait方法有什麼區別
答案:
一、wait方法釋放鎖,sleep方法不釋放鎖
二、wait方法必須在同步代碼塊裏,好比synchronize關鍵裏,可是sleep方法沒有這限制
wait()方法調用後,到底發生了什麼事情
除了使用synchronized關鍵字以外,還有其餘同步的作法嗎
答案:
volatile關鍵字
lock()和unlock()
volatile關鍵字有什麼用
悲觀鎖和樂觀鎖的區別
答案:
學習一下CAS
垃圾回收算法有哪幾種?各類有什麼特色
答案:
JVM專欄
何時觸發young gc,何時觸發full gc
答案:
新生代中的Eden滿了就就行young gc,老年代滿了,就進行full gc。
若是JAVA進程忽然掛掉了,怎麼查看掛掉的緣由
答案:
java進程掛掉後,會產生core dump 文件,可使用jstack 命令輸出線程堆棧信息。
JVM是怎麼調優的
答案:
Mysql 索引知識點
什麼是覆蓋索引
答案:
Mysql 索引知識點
什麼狀況下,須要創建複合索引
答案:
Mysql 索引知識點
索引原理是什麼,底層用什麼數據結構
答案:
Mysql B+樹學習
應用的數據庫是如何作容災的
innodb myisam的區別
答案:
Mysql 索引知識點
mysql批量插入數據的時候,怎麼優化
用過哪些NoSQL數據庫,簡單介紹一下
如何用JAVA代碼解析一個HTTP請求,描述一下實現的思路
HTTP 1.0 HTTP1.1 HTTP 2.0的區別
Spring 加載bean生命週期
答案:
Spring中的bean的生命週期,若是從細節上來說,是很是複雜的,從粗粒度上來說就是:
一、調用構造方法建立對象;
二、調用對象的set方法設置屬性值;
三、可使用Spring提供的一些接口,能夠在bean set方法調用完後,作些處理工做或者注入一些自定義的代碼實現;
四、整個bean初始完後,全部的依賴對象注入後,若是想作一些初始化工做,能夠利用@PostConstruct等一些註解
五、銷燬bean以前作一些處理工做
六、銷燬bean
Spring AOP的實現原理
請寫出一個高性能線程安全的單例出來
public class Singleton
{
private static Singleton singleton = null;
private Singleton() { }
public static Singleton getInstance() {
if (singleton != null) {
return singleton;
}
synchronized (Singleton.class) {
if (singleton== null) {
singleton= new Singleton();
}
}
}
}複製代碼
描述一下模板設計模式
原文連接