閱讀887 返回首頁    go 小米 go 小米6


必知必會 - 邁向卓越

       企業是如何選撥高素質工程師(高級軟件工程師or架構師)的?除了腦筋急轉彎那種簡單的開場白外,還需要更專業,更深邃的交流。這裏,我把自己平時的思考備案分享給大家,歡迎討論~

基礎技術篇(數據結構,並發編程,JVM內存調優等)

1. 談談對隊列offer,poll,peek操作的理解(實現,算法複雜度)

2. 談談對HashMap,ConcurrentHashMap,ConcurrentLinkedQueue,AbstractQueuedSynchronizer的理解(實現,核心操作,算法複雜度,使用場景)

3. 談談對字符集的理解
4. 談談對NIO編程模型的理解

5. 談談TCP網絡編程可能會遇到的問題
6. 談談對序列化的理解
7. 談談對softReference,weakReference,PhantomReference的理解
8. 談談對異常的理解
9.談談對設計模式的理解
10.談談對類加載器原理的理解,child first/parent first模型優缺點如何?
11.談談對ASM的理解
12.談談JVM調優經驗

13. Maven的phase,goal有什麼區別?lifecycle呢?Git是如何pull request的


全局統籌篇(技術深度,廣度,前沿技術敏感度,工作習慣,架構觀)
1. 工作中,除了對J2SE libarary的使用外,你還會用到哪些工具庫?(腳手架問題,用好了極大提升效率,也可考察出其知識麵)選擇這些庫的標準是?舉幾個簡單例子吧
2. 精度丟失的問題,遇到過嗎?(float,double,BigDecimal) 如何避免?
3. 序列化中需要注意什麼問題?對時間的序列化,又需要考慮什麼?
4. Apache,Ngix,Lighttpd怎麼解決高並發訪問的?采用什麼模型?優缺點是?如何調優?poll,select,epoll模型在各個web server中的實現情況?
5. Memcached 是分布式緩存,還是集中式緩存?實施中需要注意什麼問題?
6. 工作中,設計模式用的多嗎?怎麼用?visitor模式應用中需要注意些啥?
7. 談談你對架構的理解。工作中,你是如何去架構設計一些係統的?(可以從基礎框架方麵談起,也可以談談是如何幫助團隊成員做設計評審的)

8. 架構vs.設計?如果讓你設計一個IOC容器,如何用優雅的架構保證你的設計?

9. 並發編程中需要注意些什麼?哪種情況下線程可以Reentrant?如何優雅的結束線程?啪啦啪啦一堆堆問題

10. Reactor模式和Proactor模式了解多少,web server中有哪幾種高性能IO模式?

11. 曾經參與過或者分析過哪些開源框架,帶給你最大的感受是什麼?

12  如果公司讓你設計一套應用監控平台(Java平台),你覺得會碰到哪些技術難點(架構或細節層麵均可談談。可以談談java agent技術)?

13. 談談你對consistent hashing algorithm的理解,如何設置虛擬節點,如何選擇hash算法(更高的命中率,有效的故障轉移)?
14. 歸並排序,堆排序工作中有用到嗎?如何應用的?

15. 談談你sql優化方麵的經驗?可以從執行計劃談起,對choose,rule.cost進行剖析


敏捷流程篇(團隊建設,人才培育,基礎建設)
1. 敏捷思想能為你工作中帶來什麼?怎麼理解coding-pair的?
2. 人,而不是流程或方法決定了軟件開發過程的成功,談談你的看法?
3. 用JIRA來跟蹤管理我們的問題和需求;用Confluence來聚集團隊的想法、計劃和知識?在此過程中,你遇到了哪些問題;
4. 持續集成,版本控製方麵,你是如何做的?

5. 你是如何推進項目執行的?

6. 招聘是一個請進來的過程,為了找到更靠譜的人才,你的做法是?請進來之後,又是如何幫助他們成長的?


參考文獻:

1.https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

2.https://www.openwebx.org/docs/autoconfig.html

3.https://mojo.codehaus.org/

最後更新:2017-04-02 06:52:03

  上一篇:go JAVA賦值DEMO分析
  下一篇:go Android字符串資源及其格式化