【記錄】3.5年面試總結

3.5年面試總結

今年(9102)行情不好,在boss直聘上看到的招聘其中有一半以上在一週內都是未讀,讀了的有一半都沒有回覆,要了簡歷好大一部分也沒了後續。
個人情況:自己定位是未到高級;當前薪資:11k,目標15k,底線14k。
座標:成都

技術問題

領域 問題分類: 詳細內容
java基礎 concurrentHashMap and hashMap and hashTable 數據結構,紅黑樹只被問過一次,熟悉下它的五個特點就行了
hashMap 1.7和1.8差別
concurrentHashMap put過程,涉及到初始化,helpTransfer,擴容,數據添加,treefy等
線程和鎖 線程的狀態,各個行爲下分別是什麼狀態
wait 和 sleep的區別
Lock 和 sync 的區別
鎖升級 * 3
AQS 實現原理
CountDownLatch的用法等,熟悉可以回答底層源碼
線程池 線程池的核心參數用法
主要有幾種線程池,瞭解的比較多可以回覆下底層原理
jvm 內存構造,回收算法,常用配置
oom問題排查
如何優化,在某個場景下如何優化,比如新老比例3:1
類加載機制如何,雙親委派模型
如何定位cpu問題
java框架 spring bean生命週期
容器啓動的過程
onRefresh方法以及內部的 finishBeanFactoryInitialization 以及 invokeBeanFactoryPostProcessors
beanFactoryPostProcessor 和 beanPostProcessor
spring mvc 啓動
請求執行流程,一般自己會多說參數解析,因爲這塊有研究過
mybatis #和$的差別
sql查詢的流程
插件的實現原理
數據庫 redis redis常用數據類型
底層數據結構
持久化,
數據過期策略
主從
sentinel 和 集羣 原理
緩存擊穿與雪崩發生場景及解決方案
mysql 常用的優化方法
某些場景下索引如何創建(主要考慮複合索引,最左匹配原則)
explain主要看哪些內容
b樹和b+樹的區別,爲什麼innodb用b+而不是b樹,二叉樹
hash索引和b+樹索引差別
主從延遲怎麼解決
其他 算法 實現 解析運算表達式(一次)
優先級隊列的使用場景,當場回答有點蒙,後面反應過來是它的數據結構
散列,即HashMap
設計模式 在項目中使用過的設計模式,場景說明
隨便提個設計模式問是否瞭解,常問的是觀察者/單例
分佈式 分佈式事務,cap 和 base
分佈式主鍵生成策略,見推特snow flake, 美團leaf
項目 做過的複雜的項目;怎麼優化的項目
系統設計 用例圖,流程圖,類圖設計訂單系統/簡單系統
docker 由於自己寫了瞭解,很多都會問這個,回答只會基本使用,然後給的建議就是深入學習。。
其他 自我定位,周圍同事的評價; 寫代碼時候注意些什麼,有什麼是不能有的,有什麼是一定要有的。;
被問一次的問題 rabbitMq (rabbitMq只被問過一次,也許是的確沒什麼人用) 死信 生產者消費者如何消息防重 和其他消息隊列對比的優缺點,rabbitMq主要問題是:不支持消息堆積!
其他 UDP協議;servlet生命週期

面試公司彙總

  • 三月:中非網(一面掛)
  • 四月:滴普科技(13k * (13-15)),嗨學網(一面掛),某國企(14k * 12+10),某國企(hr面掛)
  • 五月:鐵皮人(14k * 14),G7(一面掛),oppo(二面掛),客如雲(14k * (12-16))
  • 六月:神話傳媒(一面掛),致遠軟件(wait)

面試官的建議

有些還是不錯的面試官給的建議,當然不是所有面試官都給了建議,有些給的offer,有些是兩週內給答覆 = =,
個人理解,一個好的面試官應該能夠引導回答,不滿足需求時可以給一些較好的建議,緣分一場。

面試官 建議 響應
致遠軟件 計算機組成原理較重要,需要有 這個其實和以前的leader,現在在美團做leader,得到的答覆是當需要的時候可以深入底層學習,所以一直放着
管理經驗需要提前準備 當時沒反駁,或許這個在成爲一個小leader之前,不用太考慮
需要有長期的規劃
神話傳媒 深入學習docker 這個還要考慮一下,有很多都可以深入學習,但是具體能不能給自己的職業生涯和以後的工作帶來價值?
對springboot的看法,表示高級開發應該有深入的見解 springboot就曾用過4個月,沒有什麼深入看法啊,後面積累吧!
oppo二面 給的建議是增加業務敏感性,因爲談到了營銷工具這個功能,它沒有效果統計,還問到了數據挖掘,矇蔽 的確業務的敏感性太差,總覺得需求都是產品定,其實不是,自己可以有更好得建議, 也需要考慮兼容,擴展,數據報表,效果統計之類得東西
oppo一面 深入jvm,docker等,認爲很多方面都有學到,但缺乏一些深度。 jvm其實還是有些深入的,自己表述的是沒有機會接觸生產環境,而且工作中遇到問題,被直接加內存處理了!!
中非網(18k崗位) 提高系統邊界的感知,如何減少系統間的耦合(讓做一個下單系統) 這個也很重要,微服務盛行,如何劃分邊界很重要
總結 需要有短長期的規劃,很多事情需要提前規劃。
需要增加業務敏感性,思考如何把業務做的更好,業界有沒有更好的解決方案。
需要加強系統邊界劃分的思考,減少耦合。

其他問題

找工作看重什麼

薪資;穩定性;業務發展,部門盈利的模式是什麼;薪資成長性;技術氛圍

職業規劃

想走技術,希望能在兩年內做個小組長,那這也必須要去個穩定的公司,如果頻繁變動,去另一家公司也只有當小弟的份,周圍太多這樣的同事。

和同事相比,怎麼樣

這個問題比較難,往好了說容易給人一種吹逼的假象,往低了說又會讓人覺得不自信,自己一開始也沒回答好,思考後覺得這樣回答或許更好

其實大家能在一家公司,在能力上差異是有,但不會特別大,這個有時候也很難辨別誰強誰弱多少,在以前看到一篇文章,
說能力的強弱就是解決問題的能力,如果遇到一個問題能很快解決,或者說能通過其他途徑有效的解決,那麼這就是能力的體現,
這的根本其實就是基礎技術能力怎麼樣,對業務的瞭解怎麼樣,對工具的瞭解怎麼樣等等。

當被一個小問題卡住了,面試官提示了結果,而你本來是知道的,怎麼辦?

有時候由於溝通問題,常常回答不上一些簡單問題,比如上次就被問到“spring 怎麼開啓註解掃描”,
沒想到他問的是component-scan,當面試官給了答案之後自己也沒做什麼表示。
面試結束後想,當時應該補充一下它的用法,還可以配置的屬性(includeFilter,excludeFilter之類的)等,
避免給人一種這麼簡單都不知道的感覺 = =
還有被問“在工作中使用過什麼設計模式”回答了用過工廠方法,策略等,
然後再被問"單例模式用過嗎",我居然只回答了說在工作中其實還沒有用過,就沒有後續了,
其實自己是知道幾種實現方式的,回答工作中沒有用過,給人的感覺就是“這個我不太熟悉,您問下一個問題吧。。。”

當自己回答正確,面試官卻堅持說沒有答對,怎麼應對?

之前去一家國企二面,其中問了“StringBuilder 和 StringBuffer 的區別”自己其實是正確回答了的,
面試官一直否定,質疑基礎不牢,他的意見是“如果在單線程環境下,沒有線程競爭,那不是用StringBuffer也沒毛病,
就沒有用StringBuilder的機會?”,

當時沒有拿出有力的證據來推翻對方,或許說出sync的實現原理就可以了,但是沒忘這方面想。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章