離職跳槽記

目錄


離職跳槽

  已從用友離職4天了。算是和平分手吧,公司不想養活新人了,而我也追求個人發展去了一個純正的互聯網公司。

  離職的前一天晚上,有點失眠,當時心裏真的是五味雜陳。用友是我畢業後加入的第一個公司,部門同事之間的關係也非常的融洽,很照顧新人。在這樣一個互幫互助團結有愛的團隊中,短時間內我沒想過主動離職。不幸的是,所在的部門在2018年的編制大幅減少,部門面臨着變相裁員,而我就是其中之一。

  清楚地記得,3月5號是個週一,開發例會結束後,部門老大找我談話,晦澀隱晦的言語之間透露出勸我離開的意思,並內推我去用友子公司去面試。聽到這個毫無預兆的消息,我一時都沒有反應過來,還以爲老大真的要給我介紹一個更好的發展機會。因爲前一天晚上我還在加班加點測試功能,確保週一能夠圓滿完成任務。明白談話的真實意圖後,當時真的很沮喪,以爲自己不夠努力,是被淘汰的哪一個。當天下午,我很明確的表態:不想去用友的其他子公司,想去外面找工作,拿到offer後主動離職。就此,給自己爭取了一個月的時間去找工作。這幾乎已經是宣佈我的第一份工作已結束,接下來部門不會再給我佈置任何的開發任務。

  3月6號,我寫了一版簡歷,並在boss直聘和拉勾上註冊賬號。走上了“投簡歷-複習-面試”單曲循環的路。在此要非常感謝張永超同學給我的簡歷提了很多修改建議,真的非常感謝。

  接下來我幾乎每天都在投簡歷,幾乎每天都能收到面試的邀約。由於急於想拿offer,沒有系統的複習就匆忙去參加了一個個面試。陸續死在了恆昌利通、網易、碧有信、衆薈信息、瓜子二手車、縱橫文學等公司的一面上。張勇哥提醒我:彆着急參加面試,你這樣找offer完全是浪費時間和機會,先複習複習吧,反正你只要不離職就有工資,並把他的書籍借給我複習。在此也要非常的感謝他。

  聽了勇哥的勸,也仔細總結了失敗的原因,收拾一下焦慮的心,我制定了爲期一週的複習計劃。針對前段時間面試時不會的知識點進行了複習。先後泛讀的書有《redis實戰》《maven實戰》《mybatis從入門到精通》《java編程思想》《Java併發編程的藝術》《深入理解jvm虛擬機》《sql必知必會》等。初步複習一輪後,又陸續參加了京東、每日優鮮、中科院自動化所、360、蘇寧、餓了麼、今日頭條、百度等公司面試。此時的我已經可以更自信、清晰的表達對技術的理解,差不多都能順利通過了一面;進入了二面和HR面後,因爲缺乏必要的準備,也錯過了一些好機會。

  直到4月9號,我參加完百度的面試,我意識到以目前的知識儲備和項目經歷,已經不可以找到更好的offer了。就此在4月10號辦理了離職,搬家去了望京南,準備就職每日優鮮。

  這段經歷讓我明白:離開只代表不合適;對技術的熱愛是我的初心,也是我堅持下去的動力。


面試總結

一個多月的面試經歷讓我成長了很多。一些遇到的面試題總結如下:

一、java相關

序號 題目
1 synchronized關鍵字的用法、底層實現
2 volatile關鍵字是否瞭解、什麼時候用
3 synchronized和Lock接口的區別?Lock接口有哪些實現(百度)
4 樂觀鎖和悲觀鎖是什麼?
5 說下java中的異常的繼承體系
6 筆試題考察String類的intern()函數(網易)
7 筆試題考察Integer緩衝池IntegerCache(網易)
8 筆試題考察java.util.List中subList方法(攜程)
9 java的多態表現形勢有哪幾種
10 用過哪些設計模式,手寫一個線程安全的單例模式。(有信、網易)
11 Spring中用到了哪些設計模式?
12 動態代理的實現方式。jdk、cglib方式
13 wait和sleep的區別
14 HashMap是否線程安全、底層實現、如何擴容和高併發時存在的問題;
15 HashMap 與 TreeMap的區別
16 ConcurrentHashMap的底層實現
17 HashMap和Hashtable的區別
18 粗略畫一畫java集合的繼承體系結構圖(百度)
19 IO和NIO瞭解嗎,把你知道的動筆寫一寫(百度)
20 Java中Comparable和Comparator區別
21 ThreadLocal用過嗎(縱橫文學)
22 是否有JVM調優的經歷(網易)
23 java的垃圾回收機制
24 java的內存模型
25 java的內存區域有哪些
26 類加載的機制、分哪些階段?
27 java爲什麼採用雙親委派模型(恆昌利通、今日頭條)
28 開啓多線程後,如何判斷所有線程都已經執行完畢?(網易)
29 如何查找java線程中最耗CPU資源的哪個線程(網易)
30 java高併發包裏的類你用過哪些
31 畫一畫線程狀態圖(百度)
32 項目中用過java線程池吧?項目中你們把核心池、最大池、阻塞隊列設置多大?
33 ThreadPoolExecutor執行execute方法的執行流程?

二、算法設計題

  1. 請用java語言實現一個線程安全的,基於LRU回收算法的內存cache系統。(縱橫文學)
  2. 有三個線程ID分別是A、B、C,請用多線程實現在屏幕上循環打印10次ABCABC。(注意:實現中不要用sleep)(縱橫文學)
  3. 兩個鏈表生成相加鏈表。(今日頭條)
    兩個鏈表,分別表示2個整數,每個鏈表的節點含有數值0-9
    比如9->3->7 和 6->3 相加,得到1->0->0->0
  4. 寫一個程序,模擬5個人賽跑,並輸出每個人的成績。(關鍵點是如何讓5人同時起跑)(有信)
  5. 請實現一個鏈表。

三、框架

  1. 看你在項目中使用過Spring,你對AOP瞭解多嗎?(問spring必問aop)
  2. Spring MVC的執行流程
  3. DispatcherServlet你知道吧?它用來幹嘛的
  4. 畫一畫dubbo的架構圖,dubbo節點之間的長鏈接有哪些,dubbo協議瞭解嗎
  5. Mybatis中#{}和${}傳參的區別
    mybatis的作用域(Scope)
  6. zookeeper的選主過程瞭解嗎
  7. 是否動手實現過分佈式鎖
  8. redis和memcache的區別;
  9. redis是如何持久化的:rdb和aof。(京東)
  10. redis有哪些數據類型;
  11. redis爲什麼設計成單線程模型?
  12. maven的jar版本衝突如何解決

四、數據庫相關(mysql)

  1. 有沒有msyql優化經驗?(蘇寧)
  2. mysql的索引分類:
  3. 唯一索引、主鍵索引的區別?(蘇寧)
    聚簇索引和非聚簇索引的區別?(攜程)
  4. mysql的存儲引擎有哪些,區別是什麼;
  5. 說說事務的特性和隔離級別(MySQL默認的隔離級別是?)(餓了麼)
  6. 你們的項目中,是怎麼控制事務的?
  7. 左外連接、右外連接、全連接;自然連接、內連接等概念。(餓了麼)
  8. 如何確定SQL是否走了索引?
  9. 不走索引的情況有哪些,索引失效。(蘇寧、餓了麼)
  10. 動手寫幾個簡單的sql語句(涉及到分組、排序、聚集函數等)
  11. MySQL使用自增ID主鍵和UUID主鍵的比較
  12. 數據庫連接池你們用的哪種,爲什麼採用該連接池?

五、Linux

  1. 服務器端如何定位問題?
  2. 說幾個常用的Linux命令。

六、介紹項目

1、你在項目中踩過的坑有哪些,舉例說明。
2、你剛纔介紹的項目裏是用什麼手段解決高併發?(網易)
3、你們數據庫數據量是什麼量級的?
4、你剛纔介紹的這個項目部署在幾臺機器上?
5、你們的項目中如何記錄錯誤日誌?
6、你剛纔的項目說到了反射,反射的優缺點你知道嗎
7、你們項目中的定時任務是怎麼做的?(答:定時任務不是我做的)
8、你們的redis數據庫佔多大磁盤空間?
9、有沒有解決過一些線上的bug


七、其他方面

  1. servlet的兩種主要的跳轉方式forward和redirect區別
  2. 一維座標軸上分佈着10個點。確定一個座標,讓10個點到該點的距離和最小。
  3. 畫一畫tcp三次握手,四次揮手示意圖。
  4. 你有什麼想問的問題嗎?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章