jd实习生面试过程记录
好久沒來寫自己的博客了,近期忙于找實習工作,所以也是大部分時間都用于此了。昨天去面試了京東的實習生,有些心得想分享于你。
不過,對于剛從哈爾濱來到北京的我來說,京東是真的大呀,而且進入需要預約碼,就感覺高大上無比,沒有只能在這等著,不過環(huán)境我是真的很喜歡的。
話不多說,上內容
首先我以為京東的面試 應該會先有 一套筆試卷給我 實際沒有,是負責我的面試官現場給我出題 當時覺得太炫了 不過也有些許緊張 總怕問的我不會 不過后來事實證明 好的面試官并不會對你進行一票否決 反而會去引導你思考 這樣的情況在面試中 即使沒有通過 也會讓人受益匪淺的吧!
第一部分,首先是讓我進行了一下簡單的自我介紹(因為沒有太多面試次數 自我介紹時說了很多 還包括了運動方面 總怕介紹的不夠全面 錯過這次機會 )
第二部分,就開始了面試的問題了
1)static 關鍵字
我:首先 static 關鍵字是靜態(tài)的意思 由他修飾的變量和方法 都是在類被加載的時候就進行實例化的 所以靜態(tài)方法中是不能有對非靜態(tài)方法的調用的,僅為靜態(tài)方法執(zhí)行時 非靜態(tài)成員變量并沒有被實例化出來
面:那如果非靜態(tài)方法要使用靜態(tài)變量可以嗎 怕我不夠理解 還給我將代碼寫了出來
我:因為當時有些許緊張,一時沒有反應過來,不過想到自己之前編寫代碼時有這樣寫過,便回答可以,并解釋到是因為先后加載順序的原因,類中的非靜態(tài)方法如果調用需要通過實例化對象再去調用,而實例化對象就需要先去獲得Class,所以靜態(tài)變量是先被加載進來的,所以非靜態(tài)方法進行調用時靜態(tài)變量已經存在,繼而可以。
2)Java中的集合類何其適用范圍
collection
list(有序 可重復)
ArrayList
底層是數組,所以遍歷快,增刪慢
遍歷快的原因是因為數組的內存地址是連續(xù)的,所以可以不用像鏈表一樣再去找下一個元素的內存地址而是直接向下移動變好(不過面試官有提示我如果q[10]也是這么一位一位的移動嗎?我又想到他應該會由起始地址+每個元素占用的內存地址*索引位數可以快速定位)
適用于需要頻繁遍歷,很少增刪的
LinkedList
底層是雙鏈表,所以遍歷會慢(內存地址不連續(xù)),增刪快(原因是鏈表中會存在指針節(jié)點,所以進行插入或刪除的時候只需要改動對應的指針節(jié)點,不像數組需要改動后面所有元素,減少資源的消耗)
set(無序,不可重復)
HashSet
底層是基于HashMap實現的,由于HashMap是key,value型的數據,所以在hashset底層設置了一個object對象,存入對應的value中
TreeSet(談話中沒有涉及)
Map(與collection同級)
HashMap
基于底層的實現我之前有發(fā)過點擊即可紅字標注便算是重點,不過還是需要理解記憶,尤其是hash底層和bukket entry 發(fā)生碰撞時處理方式
另外,jdk1.8以后引入了紅黑樹的概念,在發(fā)生hash碰撞的時候,次數少會選擇使用鏈表 多會選擇紅黑樹的原因 是因為紅黑樹首先是二叉樹 滿足左子樹小于根小于右子樹,更適用于范圍查找
(寫到這,我突然想起MySQL的索引有hash和b+樹,而innodb引擎之所以會使用b+樹應該也是因為如此吧!)
還問了我關于集合進行遍歷,我知道幾種?
我知道兩種 一種增強for循環(huán) 一種迭代器,不過平常使用增強for多一些 所以手寫的這個
3)就是問了我的項目
因為項目是跟著老師做的,所以流程比較簡單,就幾乎講了一下mvc的基本流程 不過面試官有進行對我的項目擴展開發(fā)
面:那你這個驗證完之后 怎么保證他在短時間內不會消失(類似)
我: 那是不是可以把我的account對象存入session中給他設置個過期的時間呢,或者它本身也會有20或30分鐘的不過期時間吧
然后我好像還提了可以在cookie中存入一個token,對入的值為隨機數,這樣將這個隨機數在作為session對象的鍵存入redis數據庫中
面: 又問我整個項目中只有在單點登陸那里有一次對應的信息驗證嗎,我說是的,他又問那怎么保證在每一次進行操作時都能驗證是該用戶在進行操作呢?難道要在每一個方法使用的時候都要進行這樣的頻繁操作嗎
我:經提點 想到了這樣會造成大量的代碼重復冗余,而spring中提供了aop面向切面的編程思想,所以可以使用他所對應的前置通知來進行每次操作前的驗證
4)中間還問了一道數據庫的題
題目大概是一個成績表
三個是張三的語數英成績 兩個是李四的成績
然后要求查詢出張三 李四 的成績總和
我: select t.name sum(t.score) from t group by t.name
最初編寫時 將sum(t.score)中的t寫到了外面t .sum(score)
面試官有提醒我說score不是t表中的嗎 sum是函數呀 這才注意到
所以這樣的面試官也太好了吧 讓我覺得工作環(huán)境應該也會是那種讓人舒適的
5)最后問了我一個智力題
一共有 1234 4個杯 分別有四種茶 紅 綠 花 白
每個茶只能在一個杯里 每個杯里只能有一種茶
紅 綠 可能在123
紅 花 可能在234
白 可能在 13
問有幾種放法
我: 最開始 是用的推算 就先假設 然后假設成立一種就脫口而出
面試官說讓我在看看 我發(fā)現竟然有兩種可能性
于是面試官 轉問我 那哪一個茶是確定 會放在固定的杯子里的
不過由于我說的比較亂 面試官又給我重新講了一遍 但是我的確 推演正確
不過面試官的講解 要更清晰
需要學習的還有很多嗎
面試結束 面試官說面試通過 等待offer中 大家一起加油呀
總結
以上是生活随笔為你收集整理的jd实习生面试过程记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电影推荐
- 下一篇: dsp gpip操作 data s