一次java面試經歷

專注的阿熊發表於2020-03-17

面試過程

筆試過程

總結


 視訊會議,面試了一小時二十分鐘,先面試提問,然後做了筆試題目。

 首先,面試官做了自我介紹,然後我自我介紹,開始面試。


面試過程

1.說一下你的專案吧


 答:balabala(說的很籠統,不過好歹還是讓面試官明白了我做的是啥系統,然後幫我總結了一下…)


2.你說做過資料庫最佳化是嗎,說一下吧


 答:

  1.首先是sql最佳化,把子查詢修改成連表查,有些欄位用的比較多又需要連表的增加了一些冗餘欄位;

  2.把一個請求拆分成多個ajax請求(由於請求資料太多導致頁面載入慢的)

  3.我們的訂單數量比較多,就用了麒麟(Kylin)來查詢


追問1:為什麼子查詢會慢,改成連表查詢就快了呢?


  e…好像是因為子查詢會生成一個臨時的表


追問2:你們最佳化前後載入頁面時間差別


 之前有個頁面要十幾秒,後來一兩秒


再追問:十幾秒?


 恩恩有一個頁面,不是經常訪問的頁面,但也會用到

 (誰讓你說用Kylin的頁面啦!面試官都沒有追問kylin說明不瞭解或者不感興趣呀!不過就算問了kylin也只能說那麼一點點而已…可能應該說用sql最佳化和ajax最佳化的頁面吧~)


3.從客戶端傳送請求到接收到資訊,中間經歷了什麼


 我:這個…之前好像寫過HTTPRequest那些東西,但是現在不太記得了…


 面試官:沒事兒,總不能一點都不知道,對吧,就說說你知道的吧


 我:(糾結半晌,顫顫巍巍…)客戶端發起請求,伺服器接收到請求,然後處理返回結果給客戶端(內心:你這說的不是廢話嗎!【其實認真看了TCP的三次握手和四次揮手的,但是不知道咋把這個插進來,真是傻透了!不能再加個連線和斷開連線嗎!】)


 面試官:…那客戶端怎樣發起請求的?


 我:透過HTTP協議…


 面試官:(低頭寫寫寫,大概在寫:該應聘者對技術的力量一無所知…)


 我:我還看了一下TCP…


 面試官:嗯?


 我:TCP比較安全(安全個屁!瞎扯啥!能不能說點兒會的了!三次握手啊喂!【TCP並不是安全的,請不要被誤導,因為TCP在建立連線的時候步驟比較多,所以容易受到攻擊,TCP是穩定可靠的,相對來說,UDP還沒有那麼容易受到攻擊,只是UDP是盡最大努力傳輸,但不保證可靠,可能會丟包啊,順序錯亂啊啥的】)


 面試官:既然TCP是安全的,那還有什麼不安全的嗎?


 我:UDP(嚶嚶嚶,壓根就沒看…)因為TCP是需要一些步驟來建立連線的,但是UDP好像沒有這些步驟


 面試官:那UDP還有啥存在的價值?大家還用它幹嘛啊(我要為UDP鳴不平!誰說它不安全!)


 我:它快!…網路這塊的東西還是大學的時候學的,好些都記不太清了…


4.你的Java基礎怎麼樣?


 我:基礎?您是指原始碼?


 面試官:不然你覺得我說的啥


 我:看了一些,但是不太多…


 面試官:說一下你看的吧(對JDK包中類的理解)


 我:好的。


 ArrayList,它的底層是陣列(它的特性為啥不說!它的初始化長度為啥不說!複習了的都不說!你不說面試官不會覺得它簡單而是覺得你不會或是不理解啊大傻子!)


 LinkedList,它是透過連結串列實現的(連結串列的特性也不配被說,因為它們太簡單,嗯)


 HashSet,它裡頭有一個HashMap,HashMap是透過雜湊實現的,不過雜湊我還沒有看…(要哭聊,會的不說,不會的非要瞎說!它的初始化長度,它的最大長度呢!!!!!不氣不氣,要不會被自己給氣死的)


 TreeSet,它是一個可以排序的集合,可以給它傳一個Comparator,就可以自定義排序了,它裡面也是一個TreeMap,TreeMap是由紅黑樹實現的,這個…我也準備看,但是還沒有看到。


 面試官:大學的時候應該學過吧?不是計算機學院的嗎


 我:嗯學過資料結構,但是對雜湊和紅黑樹沒啥印象了,就記得堆疊、指標那些了…


 面試官:還看過別的嗎,可以接著說


 我:HashMap可以透過Collections.synchorizedMap()轉化成一個可以同步的map,我看它是透過在方法上增加synchronized關鍵字來實現的,然後ConcurrentHashMap是透過分段鎖來實現的,效能要高一些。


 面試官:那你知道鎖嗎


 我:之前看過,但是因為平時用不到,又忘記了…


5.怎樣建立執行緒?


 我:建立Thread或者實現Runnable


 面試官:執行緒有哪些狀態


 我:(又沒看,就把它從建立到死亡說了一下,還說四個狀態(多嘴!))


 面試官:執行緒池瞭解嗎


 我:不瞭解…


筆試過程

1.給一個字串,包含A和B,要獲取目標字串A必須在B之前,即A…AB…B的形式(也可以為A…A或者B…B),返回刪除字元最少的字串。示例1:ABABABA,目標字串:AB(我當時想可能是面試官手誤,因為是面試官現場打字的,反正意思我明白)示例2:AAAABBBBA,目標字串:AAAABBBB(請往下看,題意好像不太明確?)


  面試官說這是個顯示簡單的題,讓我考慮5分鐘,然後兩三分鐘後我動筆了,面試官說你就開始寫啦?先跟我說說你怎麼想的吧

  (其實我沒有想好,因為我感覺題意好像沒有問題,但是答案確實是不唯一的啊,怎麼才能找到刪除最少的呢?難道是動態規劃的問題?但是動態規劃的問題級別是簡單?難道是我太蠢有啥條件沒有想到?所以我決定先寫兩句熱熱手…)


 我:我還沒有想完,因為你它有多種答案,我還沒有想到應該怎麼找到刪除字串最少的那種情況。


 面試官:多種情況?哪幾種情況?


 我:你看這個示例1,它可以是AAAB,也可以ABBB(也可以是AABB…幸虧面試官寫出來這個示例,要不我就不知道咋表達我的疑惑了)


 面試官:喔不好意思,這個示例我寫錯了(思考ing)


 我:這個是不是動態規劃的問題啊(弱弱地試探地問了一下)


 面試官:(想了一下)這個應該還用不到動態規劃


 我:(靈機一動)啊! 金融知識我知道了,其實也就只有幾種情況,要麼是A…AB…B,要麼是全A,要麼是全B,把這幾種情況比較一下就行了!


 面試官:那你開始寫吧(把返回值改成了int,只讓我返回刪除字元的個數)


 我:好(後面寫著寫著又想到A…AB…B其實還有多種情況,但是昨天我只想到兩種:找到最後一個A刪掉之前所有的B,找到第一個B刪掉之後所有A(不過之後我又想到還有其他情況,也有可能不留最後的而是中間的A或B是最優解呢,又回到了最開始讓我糾結的動態規劃…我再想想這個問題,反正我還是有點難受,不知道是我的錯還是題的錯…-.-…))


2.50個紅球,50個籃球,有兩個罐子,將100個球放到兩個罐子裡,怎樣可以使拿到紅球的機率最大?拿到紅球的最大機率?


 我:那我直接把50個紅球放到一個罐子裡然後從那個罐子裡拿可以嗎…


 面試官:你放的時候看得到,但你拿的時候看不到


 我:那應該是50%吧


 面試官:你確定?再給你3分鐘考慮一下


minutes later…

 我:這個罐子有啥玄機嗎


面試官:沒有


我:

那我覺得還是50%啊


面試官:說說你的想法


我:因為紅球始終都是50個,佔50%,不管有幾個罐子,紅球的比例是不變的


面試官:好,那我們今天的面試就到這裡了。你有什麼問題嗎?


我:(卑微)您覺得我怎麼樣,對我有啥建議呀?


面試官:這個…現在評價你好像不太好,如果有機會一起工作可以討論討論。


我:喔~好的。


面試官:那你對這個面試感覺怎麼樣?覺得難度如何?


我:(認真措辭+嬌羞hhhhhh)感覺我複習得不夠全面,然後好多東西都理解得不夠深刻,不過我覺得這個面試我已經盡力把我會的答出來了(只是表達一下我的態度,雖然答得一塌糊塗,但是我真的是認真對待這個事兒的耶!)


面試官:其實在你做筆試這個題目之前,我覺得你答得都…(想個啥詞兒捏?)


我:(不如我來幫幫您哈哈哈哈)太淺了?


面試官:對,不太好。


(我:表面笑嘻嘻,心裡哭唧唧)


面試官:因為你18年入職的對吧,一年多應該學到很多東西了,可是你簡歷上寫的,包括你說的好像都沒有什麼內容。


我:嗯,剛入職的時候的確碰到很多問題,但是後來解決了,就覺得好像都沒啥了,因為都是日常在用的東西…


面試官:好的,那就這樣吧


我:好,那謝謝您了~


面試官:嗯,再見。


我:再見(揮手告別…)


總結

   有點害怕面試,因為很久沒面試過了,其實自從上大學開始就不喜歡考試這種(屁,啥時候喜歡考試了?喔能考好的時候可能還是喜歡的吧)測試自己能力的…測試了,額跑題了。

  但,不管怎樣逃避總不是問題!既然面試有問題,那就應該解決它啊!


  繼續,因為這次面試中好多面試官問的問題我都好像知道又好像不知道,有些是因為以前學過但是忘記了,有些是因為自己瞭解過但是瞭解得不夠全面,理解得不夠透徹。

  但是有些問題,像是JVM這種,可以先不要急著去看,Java基礎才是更重要的,還有網路這些,而且不應該每次只是複習一個點,而是應該把自己的知識點串起來,建立自己的知識體系,這樣才能夠在面試官提出問題的時候解釋清楚它的來龍去脈。

  還有,部落格是有必要寫的!在讓我講專案收穫的時候完全想不到,但是工作的時候不是經常在解決新問題嗎!看了別人的答案,雖然當時是學會了,但是用完就不記得了啊~


  複習計劃:

  1.先用Xmind畫個知識體系圖,把重要的點複習到位

  2.把常用的面試題揪出來,自己試著回答一下,錄下來自己感受一下,看看應該怎樣完善補充


  接下來還有別的筆試,那好像還是應該先準備筆試喔,畢竟這個面試已經過去了~ 但是這兩天不太想刷題了耶,前幾天焦慮又緊張,睡得都不太好~ ok那先整知識體系圖好啦!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2680963/,如需轉載,請註明出處,否則將追究法律責任。

相關文章