最近面試了很多家公司,從一家非外包跳到了外包(委屈臉Ծ‸Ծ),下面總結一下最近的一些心得體會
1.若是在作技術只是爲了過日子,而沒多大興趣,那你必須須要考慮一下行業發展方向了。選定一個行業,深刻某個行業發展,熟悉業務+技術,你會獲得更多。懂業務的技術人,每每比技術大牛,牛逼(因此我選了這家銀行外包)java
2.面試中問了挺過關於運維的東西的,好比redis的集羣策略,mq的集羣策略等等,若是你公司中有運維,不須要你作搭建部署的工做,那你也得關注和學習公司全部運用的相關技術,多向運維學習mysql
3.不少面試官都會順着你的簡歷去問,不會的別寫,寫了就得會,別給本身挖坑!web
4.簡歷和自我介紹凸顯本身的亮點!想一想本身有什麼亮點或者使本身擁有亮點,好比熟悉微服務相關技術棧,熟悉數據庫優化等等,數據庫優化比較吃香,無論哪家公司都須要數據庫相關技術,推薦學習這個點面試
5.想工資高點,能夠試着學好英語,進外企,這個應該比進大廠容易多了redis
面試題算法
工做經驗2年,此次面試的是中級java,如下是一些比較常問的面試題,答案就本身Google吧spring
1.線程的各類狀態
2.線程池的建立方式
3.set底層實現原理
4.HashMap,HashTable和CurrentHashMap的區別
5.常見設計模式
6.實現線程同步的幾種方式
7.synchronized的底層實現原理sql
1.spring的事務管理類型
2.spring Bean的做用域
3.spingmvc原理
4.SpringMVC的controller是線程安全的嗎
5.springboot配置文件加載原理數據庫
1.mysql中索引的結構
2.聚簇索引,單列索引和多列索引的區別
3.mysql爲何需用b+Tree作索引結構
4.分佈式系統中,主鍵如何選擇
**ANS:**在只使用單數據庫時,使用自增主鍵ID無疑是最適合的。但在集羣、主從架構上時就會有一些問題,好比 : 主鍵的全局惟一設計模式
UUID:uuid 是雜亂無章的,每次插入的主鍵位置是不肯定的,可能在開頭,也可能在中間,在進行主鍵物理排序的時候,勢必會形成大量的 IO操做影響效率,所以不適合使用 UUID 作物理主鍵。比較適合的作法是把 uuid 做爲邏輯主鍵,物理主鍵依然使用 自增ID;或者使用UNHEX()函數轉換UUID至爲16位字節的數字存儲
經過應用程序生成一個 GUID,而後和數據一塊兒插入切分後的集羣
Redis 生成 ID:這主要依賴於 Redis 是單線程的,因此也能夠用生成全局惟一的 ID。
5.mysql優化
1.類的加載過程
2.常見垃圾回收算法
3.Full GC的觸發條件
4.JVM調優
1.Ribbon的負載均衡策略
2.你知道哪幾種負載均衡算法
3.eureka保護機制
4.eureka和zookepper區別
5.你如何理解springCloud
6.分佈式鎖解決方案
7.分佈式事務解決方案
1.RabbitMq的幾種工做模式
2.RabbitMq集羣模式
3.redis集羣策略
4.redis能夠存1千萬數據嗎?
ANS:當數據量達到1千萬左右時,因爲內存中不能存儲如此大量數目的數據,頻繁同磁盤進行數據交換,致使數據查詢、存儲性能的急劇降低,將致使服務不可用。
5.你公司所用的消息中間是什麼,爲何選它?(同問,各類消息中間件的比較)
6.RabbitMq如何保證數據不丟失
7.緩存穿透,緩存擊穿和緩存雪崩
看完後,可能你會說有些東西你根本接觸不到或者沒用,甭說了,面試官就是要問。無論你是否想往技術這塊深刻發展,只要你想跳槽漲工資,就好好學吧,多問多作。若後期想轉型,則能夠邊學邊往本身想要的方向發展。Just Do It!
小彩蛋:此次面試遇到一家奇葩的公司,面試了2分鐘,就作了個簡單自我介紹和簡單的無關技術問答,而後就過了,13k(懵逼臉o((⊙﹏⊙))o),而後我直接拒了(提醒:這種公司千萬不要去,雖然給的還行,但確定是個大坑,這麼簡陋的面試就知道!)
若是以爲不錯,點贊收藏哦!