前段時間接到了百度的一面,今天接到了二面~~~。已經拿到實習offer,但是因爲實習時間不符合~~暫時去不了
子啊這裏給大家分享一下面試的題目:也讓大家有個底。麼麼噠
一面
- linux 線程介紹 (第一個就跪了,操作系統GG)
- jvm垃圾回收機制,回收算法 (回答了常見的回收算法,標記-清理,標記-整理,複製,分代回收,說了一下強引用,軟引用,若引用,虛引用。什麼時候用什麼算法等~blala)
- 併發介紹,詳細說明concurrenthashmap (說了synchronized,wait,notifyall lock讀寫鎖。說了一下lock和syn的粗細粒度控制的不同。concurrenthashmap說了segment的作用,兩次hash等)
- jsoup的作用 (因爲有一個項目用了這個,就說了一下)
- struts2攔截器 (攔截器的原理,struts2攔截器棧的使用。前後攔截等)
- spring aop ,ioc (ioc原理,三種注入方式,aop源碼實現,jvm動態代理和cglib)
- 線程池是怎樣實現的 (因爲寫了一篇博客,然後就被問了,說了一下線程池的策略使用,和fixed線程池)
- 框架的實現原理 (自己寫的框架的原理,blala說了)
- hadoop mapreduce原理 (簡單的說了一下,也沒深入問,因爲我簡歷上面寫的瞭解)
- class文件結構,classloader機制 (文件結構沒打上來,後者是雙親委託機制)
- flask框架和springmvc的異同 (路由基本上是一致的,但是flask沒有參數注入,和攔截器)
- dreamvc介紹~扯了20分鐘 (各種blablaa)
- mysql事務,和隔離機制(原子性,一致性,隔離性,持久性,隔離機制沒答上)
二面
- hashtable和hashmap的區別與聯繫 (是否線程安全,hashmap可以有null值)
- tcp三次握手和4次揮手 (書上有~~~~~~哈哈,勉強回答上來)
- tcp和udp的區別(是否面向鏈接,速度,tcp怎樣保證鏈接可靠)
- mysql調優有哪些方案 (回答的索引,存儲過程~sql語句優化,分區表。幸好沒深入問)
- 說項目 (說了一大堆)
- python和java的優缺點 (隨便說了一通,大概意思就是各有優點)
- 兩個棧實現一個隊列 (先入第一個棧,然後pop到第二個棧。在pop就實現了一個隊列,)
- mysql索引如何實現的 (b+tree,簡單的說了一下b+tree的定義。和實現,“分裂”的時機等等)
- 介紹b樹 (2-3數的變化,數據結構書上有。剛好看了)
- struts2的流程 (filterdispatcher->actionmapper->actionproxy->interceptor->template)
- mybatis和heibernate比較 (前者是半自動化的,後者比較死,圍繞了這個來講 看這個鏈接mybatis與hibernate區別)
- concurrent併發庫,lock讀寫鎖 (如一面差不多。lock提供的讀寫鎖)
- git的提交命令 (因爲用了git.,然後就簡單的問了)
就是這麼多了,其他的都是一些小問題,然後加上自己的理解就能答出來的。感悟就是:我自己寫的框架幫了大忙,大部分時間都在問我的框架,實現原理,爲什麼要這麼做~~用了哪些設計模式啊,你這個框架跟
其他的框架比起來有什麼優點啊。那個地方借鑑了其他的思想啊,等等~~~
完完整整的複習了一個星期,看完了數據結構,計算機網絡,我也是醉了,結果問的大概就是那麼一兩個問題
在這裏小計一下,希望對我們團隊的人都有點點幫助。
最後:針對技術方面的,多寫博客,多發表自己的見解,然後記錄下來。面試官都很喜歡