阿里面試差不多乙個月過去了,早就預料到了這種結果,終究還是進不去,這段時間從來沒那麼渴望過知識的力量,從沒有那麼渴望過乙個好的學校出身,以前自己很弱小,很無知的時候,一直相信什麼讀書無用論,去你嗎的讀書無用論,如果你思維跟普通人差不多,那你就是個芸芸眾生,總結一下從阿里一面到六面的技術面到底面了個啥,
隨後又講了一堆。看你簡歷上寫了解過linux,那解壓指令是什麼,我很快回答出了 tar-zxvf
檢視日誌記錄呢? cat more tail head說了一大堆。hashmap的底層實現原理是什麼?陣列加鍊表,為了裝下逼,就扯了一下紅黑樹jdk8新特性 。既然說到jdk8新特性那你說說jdk8到底有啥新特性?lambda表示式。那你用過流式程式設計和響應式程式設計嗎?到這裡直接幹懵逼了,這是啥玩意?沒用過,不知道。然後你用過m**en嗎?用過。你用它幹啥?主要管理專案jar包。那用過git嗎?這時候開始表決心了,我下乙個電力管理系統準備團隊協作,就用github遠端倉庫,到時候好好學習一下。設計模式你學了哪些?單例模式,工廠模式,裝飾者模式,策略模式。那你能挑乙個講嘛?果斷挑了裝飾者模式,講了一下類圖,很完美。用過執行緒嗎?用過,寫過乙個生產者消費者。怎麼實現的呢?這裡就很過分了,扣細節,wait,notify方法的使用。到底在哪加,以及加的條件。你平時在哪學習業內最新知識,或者了解最新技術?果斷回答開源中國,牛客網。
阿里二面,上來直接幹,問專案,看你簡歷上寫了購物車專案,能講講大概流程嗎?記得很清楚扣細節,購物車是個map 放在了session裡面。為什麼不放資料庫?因為購物車使用者要一直修改,放資料庫會io操作頻繁。那如果我換個瀏覽器,購物車的資料還有嗎?我此時被問倒了,確實沒有。tcp三次握手怎麼握的?syn同步號=1ack確認號=0 表示請求伺服器連線,伺服器願意連線後 把ack改為1發給客戶端第三次就可以直接傳送資料報了。如何解決高併發問題?多執行緒啊。比如場景?伺服器serversocket 【python中已有分析示例】
指定乙個埠 阻塞等待客戶端連線,當客戶端連線時,就形成乙個socket控制代碼。但你還是沒說如何解決高併發啊?然後跟我說你慢慢想一下,不急。在這等了足足大概10分鐘,我瑟瑟發抖,根本不敢說話。那伺服器監聽在while迴圈外面 還是裡面?果斷回答裡面。這時候面試官就有點不開心了。你講講死鎖問題吧?講講如何解決死鎖問題?死鎖不應該提前避免嗎?目前沒遇到過。那自旋鎖,偏向鎖呢?沒了解過。執行緒池用過沒,有什麼好處?用過,能夠提高響應速度,統一管理,降低資源消耗。二分歸併排序演算法怎麼實現的,能講下嗎?這裡問的很細,問了遞迴裡面是怎麼寫的,遞迴外面怎麼寫的。又卡住了,額......好了,繼續等待後續通知吧!
大概乙個星期左右,第四面,技術總監技術面來了,又是自我介紹一下,隨後開始問快遞排序是怎樣的?我口述了一下。string ,stringbuffer,stringbuilder 的區別 ,乙個是不斷建立物件,不斷**。乙個執行緒安全,乙個執行緒不安全。哪個安全?stringbuffer。那volatile和synchronized區別是什麼?跟面試官扯了一下jmm記憶體模型。還可以。紅黑樹是怎樣的?j**a中的紅黑樹嗎?不問j**a,就是資料結構?額,這不是很了解。二叉平衡樹呢?也不是很清楚。b+樹呢?就開始扯innodb和myisam儲存引擎了!mybatis中insert返回型別是什麼?int啊。int表示什麼?插入成功幾條資料返回幾。${}和#{}底層實現原理是什麼?不是很清楚。cookie和session的區別【j**aweb中已有例題分析】
是什麼?乙個存在客戶端,乙個存在伺服器端。spring aop 是啥意思?面向切面程式設計,**模式啊。**模式?那動態**有幾種方式?兩種,一種jdk動態**,一種cglib動態**。有什麼區別?一種是知道介面,一種不需要知道介面。實現執行緒有幾種方式?一種是繼承thread類,一種是實現runnable介面,其實還有一種沒回答,又講了如何選擇。這時候,面試官有點不爽了,我只問你如何實現,沒問你如何選擇。我建議為了表現自己對這方面熟悉也不要這樣回答。jvm記憶體模型是什麼,分別放了什麼東西,你能講講嗎?又講了一堆。范型底層是怎麼實現的,這個不是很了解。
乙個星期後,又沒有**了,等**再來時,技術部門校招已經滿人了,此時簡歷被流浪到另外部門,開始新一輪面試了,我在想,如果不是因為學校差,或許我早被錄取了。
阿里第五面,又開始自我介紹一下自己。面試官開始問了,第乙個就問死鎖問題。又是死鎖?又是怎麼解決,一樣達不出來。死在兩個地方死鎖問題了。然後問看你拿了個程式設計天梯賽一等獎,是個什麼性質的比賽呢?扯了扯程式設計題。你學過統計學吧?概率論啥的,我能問問題嗎?我沒怎麼學誒,我把主要精力放在j**a上,比較擅長設計模式。那既然講到設計模式,你講講設計模式的原則吧?開閉原則,單一原則,介面隔離原則,李氏代換原則,還有其他忘了,那設計模式你專案有應用場景嗎?好像沒有,但我可以跟你講個例子,將開始扯學過的知識了。那你知道b+樹嗎?又是b+樹....我看你會用explain分析優化語句,可以講講場景嗎?比如說一張表裡面有千萬條記錄,那如果我查詢語句查了很久才查出結果,那可能就要分析為啥這麼慢了,那可能是沒見索引,這時候為了提公升查詢效能,就要建立索引了。你知道hash演算法嗎?hashmap如何解決碰撞問題?線性探測法 和二次線性探測,再hash演算法。那如果我要設計乙個字串的位址,怎樣才是兩個不一樣的string呢?那可以拿到第乙個字元乘以一,第二個字元乘以2這樣算位址,但還是無法避免hash碰撞。我覺得你挺聰明,雖然你成績在班上不是頂尖的,但是注重動手能力。。。這裡我有點害怕,我怕他問有沒有掛過科,其實我掛過科,我勸各位同學好好學習,不要掛科。隨後開始問覺得這次面的怎麼樣,我說一般,還是有很多東西不知道,然後跟我耐心講解 死鎖必要條件,破壞任何乙個,就不會發生死鎖。
六面大概是前天吧,告訴一下怎麼死的,死的很冤,因為他問我最近在學什麼,我說在學js,然後又說你不是學後端的嗎?咋學js去了?(個人覺得)這裡你怎麼說都不好,他會覺得你野心太大,不適合培養,三心二意,就算把你培養出來了,過不了多久也會離職,所以你要一心一意搞後端........有時候不要太老實了。太不值了.....
魔方會還原六面了
魔方大家都玩過吧,以前我還覺得還原六面是不可思議的事情,沒想到現在我也行!一般人不經過任何訓練,基本都能還原一面,更進一步還原一層也是沒有問題的,我也就是還原一層的能力。前些天兒子買了乙個魔方,不捨得打亂,說是亂了就不能還原了。我給他打氣說,你好好做作業,我現在學習,兩個星期後我就學會了。兒子悄悄告...
圍觀這個六面體
今天看龍書d3d,筆記一下,龍書上繪乙個正六面體,改變世界座標系來令它看起來旋轉,然後我自己重寫了一遍,再改一改效果,讓視口座標圍觀這個正六面體的效果。這樣 下面程式的部分 裡面的變數negative被我注釋掉了,如果去掉注釋,虛線部分的軌跡也會生效,不過有乙個問題,每當到x a或者x a的那個時候...
藍橋杯 六面體染色
正六面體染色 正六面體用4種顏色染色。共有多少種不同的染色樣式?要考慮六面體可以任意旋轉 翻轉。分析 六面體染色後任意旋轉 翻轉均判定為相同的染色方案,這點需要注意。其實只有兩種翻轉方式,即水平翻轉和豎直翻轉。建立一陣列vis 333334 用於標記某方案是否已被訪問。下標的每乙個數字對應乙個面的顏...