2017阿里校招内推面试回忆
生活随笔
收集整理的這篇文章主要介紹了
2017阿里校招内推面试回忆
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,我得聲明,我經歷了內推的四次電話面試,一直到hr面了,但是最后還是被掛了,所以,對大家的幫助可能不是那么大,如果大家對我這個失敗者的經歷不是很感興趣的就不用往下看
后來校招的時候,筆試直接就掛了,我猜測是不是跟我之前內推失敗的記錄有關
OK,先介紹一下自己,本人是西安一所計算機還可以的211高校的研二學生,沒有實習經歷。7月底請師兄做了內推。
8月1日 一面 ?50分鐘
1 項目需求分析有沒有用工具?
? 沒有
2 Uml中的用例圖熟悉不?
? 我知道類圖與時序圖,我清楚的知道類圖依賴,關聯,聚合,組合的區別,但是用例圖真不熟悉
3 servlet里有哪些方法,是否線程安全
? 首先我們自己寫的MyServlet是繼承自HttpServlet的,而HttpServlet是繼承自GeneiicSerlvet,GenericServlet實現了Servletconfig接口,同時GenericServlet里面也有一個GenericServlet對象
? HttpServlet有init方法,service方法,還有destory方法,還有dopost,doget
? 它不是線程安全的,如果給servlet里面加了成員變量就線程不安全了
? 參考資料: http://blog.csdn.net/dlf123321/article/details/49201303
4 Http的Post與Get有什么區別
? post是加密的,在瀏覽器的地址欄上看不到傳遞的消息,get相反
5 那么post一定是安全的么?
? 不是,使用chrome或者火狐的調試工具,即使是post也能看到傳遞的消息
? 面試官問,那如何讓post真的的安全
? 這個我當時沒回答上來
? 后來找資料,得到下面的結論
? 使用md5加密,先生成一個隨機字符串例如a,用戶提交的密碼是b,讓a與b組合起來,進行加密成為c,然后把c與a組合成為d,通過網絡傳遞到后臺
? 后臺通過用戶名(這個沒有加密),找到數據庫里的真實密碼,然后與隨機字符串a組合成為c',再讓a與c'組合成為d',比較d與d'是否一致就OK
? 但是我有一個問題,首先用戶在瀏覽器上能不能看到隨機字符串到底是什么?
? 第二加密得到c之后,再與a組合成d,這一步是必須的么?
? 這個兩個問題,我沒有想明白,那我朋友知道的,告訴我一聲
4 servlet與jsp的關系?
? jsp被tomcat編譯成serlvet,而servlet就是一個普通的java類
? jsp中的那些隱含對象,例如application,out等都是serlvet的servlet方法里面的局部變量或者參數
5 tomcat4與7的區別,最新的是幾?
? 4的連接器是一個叫p開題的連接器,在7中有更先進的做了替換
? 7支持nio
? 最新的是9
6 hashmap原理
? 我就說了鏈表,entry,頭插法等等
7 負載均衡的實現
? 分類有dns,http,應用層負載,ip層負載,數據鏈路層負載
? 參考資料: http://blog.csdn.net/dlf123321/article/details/52131542
8 session共享
? 談到了一致性hash,就是那個大的hash環
9 說說比賽
? 我自己參加過阿里的天池大數據筆試,我介紹了一下比賽,同時說了我的幾個創新點
10 java加載xml的方式有幾種,都有什么區別?
? ?我回答:我記得有4中,有org和w3c的,具體的區別不知道
? ?其實,后來查資料發現有dom,jdom,sax,dom4j等等
? ?具體區別如下: https://my.oschina.net/zmf/blog/397468
11 http是七層協議里面的第幾層? ?我該說說http協議的組成
? ?這個我不知道,當時就蒙了一個表現層,然后我說了一下http的組成,請求頭請求體之類的
? ?其實http是應用層的
12 設計模式,講解 ?
? ?我談到了tomcat中用到的facade模式,然后舉了我在家是子女但是在學校就是學生,同一個對象有不同的職責,這個例子
? ?后來想想,設計模式這個東西,第一面試的時候,自己就不應該主動提,第二就是即使談到了這個,也不要舉例子,你就直接背定義就好,因為我舉得例子是在太爛了
13 struts2的實現原理
? ?就是struts2的那個大圖,在struts2的文檔里就有
?總結
1 面試的時候,不要太激動,你講話講的太快,面試官會聽不清楚
2 要告訴面試官 你熟悉哪些東西,然后把向你熟悉的領域引。
3 基礎很重要 8月初我對數據結構和網絡的東西還都沒有復習,解析xml和http是第幾層的回答是個大敗筆
8月5日 二面 ?30分鐘
1 虛擬機長時間運行,會出問題,你遇到過哪些? ?
? 我自己沒有遇到過,單身我會寫代碼驗證虛擬機可能出現的問題,例如堆溢出,棧溢出等等
? 后來想想,人家說的應該是你有沒有過處理虛擬機內存泄露的經驗
? 后來學習了一下: http://blog.csdn.net/ylyg050518/article/details/52354879
2 說話你的項目
? bababa.....
3 項目有什么難點
? 我當時給他說的是這個: http://blog.csdn.net/dlf123321/article/details/50218829
? 然后說我覺得這就是單例模式在應用層的一個表現
4 說說單例模式,你是怎么寫的?
? 這個我當時就把我的博客的內容幾乎復述了一遍:
? http://blog.csdn.net/dlf123321/article/details/42062669
5 有沒有想過把你們的項目改造一下
? 我從前端,js與css的位置,圖片放到多個域名下,cdn
? 聊到了應用層的負載均衡,集群,緩存,消息隊列,到數據的分庫分表
? 說了很多,參見: http://blog.csdn.net/dlf123321/article/details/51360739
6 那你實踐過哪些呢?
? 恩,我試過緩存,但是都是小范圍的,帶學習性質的使用(開始心虛了,上面的那些理論我懂,但是實踐真沒有),
7 你還有什么問題么? ?
? 我說,那如果我以后能加入阿里...還沒說完,我就又說,額,這個扯遠了,不說這個了
總結
1 實踐太少,只知道理論不行呀
2 我是沒有實習經歷的,這個是個硬傷,我應該從下面三方面來補充一下
? 2.1大的比賽 例如阿里的那個天池大數據 我得好好梳理一下
? 2.2開源項目 不只是我閱讀過的源碼,還得有總結的開源項目
? 2.3重復輪子 有沒有復寫過tomcat呀?(我讀過tomcat4的源碼,有二十幾篇博客來記錄學習過程)回去梳理梳理
3基礎 ?
? 就是算法與操作系統
8月11日 三面 ?20分鐘
1 說說項目
? 1.1 bjadmin 看下級問題(這個敘述略麻煩,反正就是項目中的一個難點吧)
? 1.2 我說了阿里的那個比賽,他和我聊了一下比賽的事,我分析了一下我的項目的設計思想,同時告訴他,比賽結束后,我還去git上看了別人的優秀的代碼,并且與自己做對比
2 性能擴張
? 2.1性能 高可用 跟一面那個差不多 http://blog.csdn.net/dlf123321/article/details/51363186
? 2.2 session環 就是那個一致性hash
? 2.3 服務化-->dubbo調用或者rocketmq
3 提問題?
? 我問他,關于spring,聽說阿里有過重寫,你們咋做的?
? 他說自己并不搞那部分,不是很清楚,他猜測肯定是跟業務相關的...balabalabala....
? 我當時就趁機提到了,前幾天的阿里開源了他們的mysql分支據說在秒殺情況下,性能提升了100唄
8月15日 hr面
1 你沒有實習過么
? 沒有,老師不準
2 我主動提到了之前干過的一個帶有創業特性的的項目,這個聊了一會
3 我提到了阿里的大數據比賽
4 她問:你做這些的時候,沒有耽誤老師的工作么?
? 我回答都是課余時間做的
5 你有什么規劃么?
? 其實我得回答偏題了
? 我說我想進阿里,然后說我看過好多阿里的書,知道阿里的技術很牛逼,然后列舉了很多技術,同時說我還知道阿里有個多隆大神,balabala..
?后來我從師兄那知道,我得hr面試都過了,但是后面還是被拒了
?我自己總結主要的問題出在第一二次面試上
?第一次是因為 基礎不夠扎實,http是第幾次都不知道..我也是醉了
?第二次是因為 沒有實踐,光知道理論上不行的
?其實整體來說,我也認了,咱和優秀的學生,確實是有差距的
總結
以上是生活随笔為你收集整理的2017阿里校招内推面试回忆的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乒乓球单循环赛_乒乓球单循环赛
- 下一篇: java服务器间文件传输,java实现在