本篇部落格記錄一下自己面試的經驗。面試技巧:不卑不亢,積極應對(即使沒有專門去準備面試也可以應對自如)。
1.平時多積累
資料結構:List、LinkedList、Collection、HashMap等基礎原理。
了解JVM配置:JVM的運作原理和調優。
關于編寫文檔能力:需求文檔、功能設計文檔、資料庫設計文檔、接口設計文檔,PPT演講或教育訓練。
産品管理能力:Axure RP、PPT、多與使用者溝通交流了解真實可靠的需求。
項目管理能力:Project、Visio、UML、項目人員的協調和安排,團隊建設。
行業積累:如Finacial(金融)、TMS、OMS、EBS(電商)、WMS等行業的經驗。
架構積累:LAMP(Linux+Apahce Server +Mysql+php)快速建站方案,Nginx負載均衡解決方案、微服務架構。
設計理念:SaaS(軟體即服務)、PaaS(平台即服務)、IaaS(基礎設施即服務)、IterfaceAAS(接口即服務)、XaaS等等。
全文探索:Lucene(Solr)等,不一 一列舉了。
2.面試經驗實踐問答
2.1談談HashMap的原理,你了解hash碰撞嗎?
2.2談談Spring的底層是通過什麼機制工作的?
2.3如何保證接口在資料庫不同版本的下都能很好的工作?
2.4怎樣避免新使用者還在使用老的接口版本?
2.5同一個應用中怎樣實作不同版本的接口都能穩定的工作,即如何管理多個版本的接口調用?
2.6如何保證接口是最新的版本,如果接口有修改和差異怎麼處理?
2.7你們的接口都是直接暴露給使用方,而無須校驗和鑒權?
2.8如何保證接口不重名,你會怎麼做?
2.9資料庫壓力增加、超負荷運轉的時候你會怎麼設計資料庫,會采用分表分庫、分片、還是叢集?
2.10如何處理和避免多線程資料不一緻的情況?
2.11接口之間的互動意味着有分布式事務處理,一旦處理失敗你們會怎麼做?
2.12如何釋出安全可靠的API?
2.13如何避免接口被重複調用,如何去重和驗重?
注:先将問題抛出來,看大家會怎麼回答!