從這條博客開始轉變!

盡人事,聽天命!

  我當初純粹是因爲喜歡玩遊戲想知道遊戲是怎麼做出來的才選的軟件工程。
  可是現在我卻急需一個方向,能讓我以後知道自己就業做啥的方向,我迫不及待地想找到工作遠離學習苦海了(感覺學得很累傷心神傷身體還要交學費= =而且還沒學到什麼,嗨呀越想越喪了都),可是沒學到什麼是就不了業的,現在就是處在一個大三的很怕一畢業就失業的窘境。
  其實很久以來一直都有在思考以後的方向問題,我到底對什麼感興趣呢?
  開發的話,前端後臺,前端的話,本來想試試安卓,可是郭神的《第一行代碼》看了幾章就沒辦法繼續跟着他打下去了,感覺那種佈局調條條框框的終究不適合我,唉。後臺呢,我也問過一些師兄,看過一些後臺大神的博客經歷,可是這學期的算法課讓我心涼了一大截,算法,好難!算法不精通直接把路堵死了,唉,又是因爲我愚鈍。
  最近在想能不能做軟件測試呢,看了很多知乎上的軟件測試工程師分享經歷,覺得自己可以先來入入門試試?可是真的好怕又是三分鐘熱度,三百六十行的一條通用定律就是:興趣是最好的老師。感覺現在的自己只是爲了將來能就業而各種死馬當活馬醫罷了,並不是真的出自熱愛某個方向,對某個方向感興趣才選的,憑藉這一點,真不知道自己能找到什麼出路。。。
  等考完試了再來好好想想吧。。。。
  這篇博客之後再編輯,今天這番話主要是警醒自己:
  不要再因爲碌碌無爲而悔恨自己荒廢了個大一大二甚至都萌生出了當初不選這個專業的想法甚至自暴自棄的念頭了!事情已經發生了,況且再來一次我當初也會選擇這個專業!!要想擺脫現在心理上的困境,就要做點實事出來,不要再欺騙自己,得過且過了!
  我不能放棄,不能再混日子了,我要及時確認自己的思路,方向,然後開始有所爲了。
  一句血的教訓:大學不是高中可以讓老師幫你塗鴉你的空白的,大學是很靠自學的!
  希望一切爲時不晚!
  加油!!!
2018.1.4


  今天跟幾位大佬在一起討論作業,感覺跟大神們一起合作的真的比自己一個人單幹效率要強太多了,大神們很多思路還有想法都是我想不到的,他們掌握的知識要比我多太多了。總而言之,真的好喜歡又好羨慕能有一個團隊一起合作的人啊,大家相互提高相互進步,多好呀!
2018.1.5


  19號的時候,終於結束了所有課程的考試。想想這學期過得好像又是啥都沒學到的感覺(每一學期都是這種碌碌無爲的迷茫感),真的嚴重懷疑自己的能力。這兩週基本是在預習+突擊自己的各個科目,經常去新活一泡就是泡一天,弄得身心俱疲。我啊,真的不懂什麼叫平時好好努力才惹得今天這番狼狽。不管成果如何,現在只能聽天由命了。
新的煩惱會取代舊的煩惱,現在新的煩惱走了,舊的煩惱也該回來了。
  這兩天考完試在浪的同時,又開始思考自己的未來走向了。
  結果是,安卓。
  記得大二下的暑假的時候,我決定學習安卓,但是大三上這學期,只看了郭神《第一行代碼》沒幾章就停了,也不知道幹嘛去了。。。當時記得是AS自帶的模擬器運行起來太卡了,所以決定安裝genymotion,但是這B東西一直報錯讓我電腦各種藍屏,最後心態也搞炸了。當時放棄安卓的另一個原因吧,就是當我很懼怕調試那些條條框框,我也很怕我做不出那種好看的UI,實現不了各種很華麗逼格很高的動畫、交互等。。。。
  是啊,我愈發地發現我只是懼怕,並不是沒興趣,因爲這種懼怕只是對未知事物的恐慌罷了。我甚至自暴自棄過,覺得自己現在學什麼都晚了,已經荒廢了兩年了,什麼都晚了。這中間的心路歷程就不再贅述了,只是想說,我挺過來了,我覺得自己還有救,我還得去救很多人。

  

  其實我在微信裏發出這個問題前,我已經有答案了,但是我想聽聽我敬愛的奶奶怎麼說,她老人家在天之靈給我的答覆卻讓我驚訝無比。
  我個人不信什麼鬼神,但對命運一說卻十分癡迷。
  每次遇事不決的時候,就喜歡搖骰子,單數幹嘛,雙數幹嘛。
  所以當我搖到5的時候,我覺得湊巧吧,鬼使神差地再搖一次,沒想到是3,我開始顫了,因爲兩個單,還是遞減。
  所以我心想,下一個是1???
  結果。
  如圖所示。
  重拾安卓。
  我來了!
2018.1.21


  新年將至,時忙時閒。總算是從《第一行代碼》第二版的P160讀到P570頁完了,熬過了一個因爲對安卓的種種都不知曉所以很茫然乃至學不下去的階段(我知道這只是一座小山而已)。現在讀完感覺啥都懂一些又啥都不會(其實就是代碼我都看得懂,但是讓我打我是萬萬沒法像郭神一樣這麼巧妙地打出來的)。無論如何,現在我的對安卓的興趣明顯比之前高太多了,因爲就是,我看懂了安卓的佈局,看懂了四大組件的相互作用,以及各種控件之間的交互,看懂了一款簡單安卓APP的運轉原理。我知道我看懂的還很基礎,但至少我發現沒我想的那麼難,或者說只要功夫深,鐵桿磨成針。總結一句:郭神真的強,革命尚未成功,一切纔剛剛開始!
2018.2.9


  好久沒更新進展了,這段時間一直在繼續研究安卓,照着羣俠傳打了個2048後又自己做了個俄羅斯方塊。
如今看着別人都早就忙於春招投簡歷了(有的都要開始面試了吧),其實自己也是躍躍欲試,但是又覺得自己基礎那麼薄弱,數據結構計網數據庫算法操作系統啥的,其實沒有這麼多“但是”的吧,就是我太慫,我到底在怕什麼???
  我到底在怕什麼???
  就算他媽面試把老子全刷了又如何,還不是回到起跑線而已?!
  所以我到底在怕什麼????
  投了投了喜歡的全部都投一遍,被刷了就查缺補漏!!
  幹他媽的!
2018.3.13


  把自己想要的安卓崗,能投的都投了一通,現在心驚膽戰,感覺像是一個死刑犯在等待最終執行。然後問了一個剛被騰訊電話面試的朋友,嗯,趕緊惡補計網!!!
2018.3.14


  計網都還沒怎麼看,簡歷就被拿去點評了,結果被批得一無是處,那個大佬說想應聘大廠崗位的可能性很小很小。自己心態也炸了,簡歷、能力確實low炸了,整個人突然不好了,感覺好痛苦,突然不知道要不要堅持安卓了,非技術的崗位就不用這麼折騰啊,可是,爲什麼我這麼沒用。。。。
2018.3.15


  剛剛認識了牛客網,也看了好多人的面試經,都是我不會的那種!真是悔恨不能早點認識到這些平臺,以前荒廢了好多時間去打遊戲了。無論如何,我還年輕,時間就是我的資本,我有兩年不夠刻苦但我接下來還有那麼多年可以來用心沉澱、拼搏。我應該放長眼光來看待我未來的路,加油吧!
2018.3.16


  今天把牛客網安卓的專項練習做完了, 感覺提升也不是很大啊。。。不過可以做JAVA和計網操作系統數據庫啥的了,反正也是查缺補漏吧。然後今晚接到了騰訊的電話面試,竟然沒有問技術方面的,還是比較籠統的問題吧,加入的社團,讀的書,讀後感,做了什麼項目,項目中遇到的最大困難以及怎麼解決,最上心的課,課上學了什麼。雖然沒問技術,但還是有意識到自己算法真的很差勁啊,尤其是樹和圖,趕緊補補。
2018.3.20


  今晚又接到了騰訊的電話面試,騰訊小哥哥的聲音都這麼好聽的嗎簡直了= =。而且我準備了很久,這次還是沒有問到安卓方面的知識,算法啥的都沒有,倒是還是一直在考察我的學習能力。真的心裏很緊張但是表現得又很鎮定,很怕下次突然就是技術面,又覺得很幸運原來應屆生因爲缺乏項目經歷所以並不會很看重項目經歷而是學習能力。
2018.3.22


  今晚去了華師石牌校區參加了金山的筆試,寫得馬馬虎虎吧,JAVA真的太多不會了,容器的使用,還有各種數據結構。然後已經等了四天也沒看到騰訊的電話了,今晚纔想到之前第二輪輪電話很可能是第一輪面完被刷然後第二輪被撈起來的,怪不得我說怎麼上來又不問技術問題,都是問些學習上的事。行吧,第二輪又被刷了就刷了,明天網易技術面,真的很惆悵,有時候真想一整天躲在被子裏,想睡多久睡多久呵。
2018.3.26


  今天參加了網易爸爸的面試,科韻路離大學城真近,然後網易大廈逼格真高,工作環境看着就覺得好到爆。只可惜面試官問了很多我不會的,安卓的、操作系統的那些,唉,真的難受。愈發覺得找個工作原來是這麼難的一件事情,回來後買了《Effective JAVA》和《深入瞭解JAVA虛擬機》,真的沒系統學過JAVA,問個垃圾回收機制我也是支支吾吾,問個內存泄漏我也是一知半解。媽耶!也不知道有些人怎麼看着就像生來就有這一份工作似的,羨慕啊。
  一生氣就把美圖給報了,哪個公司在廣州或者深圳收安卓實習生我都不想放棄吧,只是一下子就收到了明天的筆試通知,明晚又有華爲的,華爲的怎麼每次都好死不死地就跟我別的筆試撞車了呢,上次把華爲的筆試翹掉還以爲就結束了呢,沒想到第二次機會又撞車。。。看了那些大佬的華爲面經,是不是在他們眼中去哪個公司都很容易啊,羨慕。
2018.3.27


  今晚做了一小時華爲線上筆試和8分鐘美圖線上筆試,華爲的題目應該算不難吧之前也有在牛客網和博客上了解過往年題型,雖然說不難但是真的如他人所說,很坑,巨坑!第一道題我就沒看懂題意,所以一直覺得是我境界太低了get不到點,結果第二道題簡單得又不像第一題,一次就樣例全過了。好吧,那來看看第三題,鴨兒喲,說輸入是一個整數數組,結果你也沒告訴我是輸入多少個,還以爲要判斷scanf()!=EOF這種,結果一直都是通過0%,後來改成字符串再提取數字出來竟然通過了80%。問題是你沒告訴我是字符串啊!是字符串啊!字符串啊!符串啊!串啊!啊!
  然後做了8分鐘美圖,就做了選擇題填空題,都是考JAVA的知識,我真的沒系統學過JAVA我是不是要原地爆炸了。然後問答題佔70%我全來不及做了,粗略過了一下問答題,五道好像安卓JAVA各佔一半吧。JAVA考用JAVA實現二分查找,還有找字符串數組裏出現最多的那個字符;安卓的話考Asynctask。(只記得這個了)不過今晚既然去做了華爲就沒想着要過美圖筆試了,算了哈。
  結果筆試剛做完,來了個電話,我看到這個020開頭廣州的,第一反應是美圖來問我爲啥只做了8分鐘題目,正在心裏搗鼓怎麼找個藉口(畢竟不能說我是去做隔壁華爲了吧),結果沒想到竟然是網易HR的,一個高冷的小姐姐,上來問我是不是本人然後告知我明天下午兩點去網易面試,媽耶,我緊張得只在那嗯嗯哦哦,結果就說了這些她就拜拜了,我都不敢問是HR面還是技術面,嗨呀,只通了33秒,好緊張。。
2018.3.28


  今天下午去了網易技術二面,從兩點多等到快四點吧,直到有工作人員來招我上樓,結果發現不是馬上就能面的,還得排隊。人數的話,感覺比上次一面要明顯少了很多,但是還是蠻多的。七樓有很多地方空着,也有一些網易員工在大勝聊天。我坐在一個凳子上排隊,而後來了一個女的,偷偷瞄了下她的簡歷,發現竟然是個碩士研究生,而且跟我一樣來面試移動端開發實習崗。好吧,當然內心慌得要死,我一個本科大三小學生。
  等了二十幾分鍾吧,終於輪到我了。被工作人員帶進去後,沒想到竟然只有一個面試官。戴眼鏡,戴得歪歪的,看着很和藹,整場面下來並沒有一面那種緊張感和壓迫感。他一直看着我簡歷問的,上來就是聊項目。那還能幹啥,我只能又雙叒叕地聊自己的俄羅斯方塊小遊戲了,我說了下我做這個程序的歷程吧,然後還給他展示了一下,他體驗了一下,針對一些實現的細節也問了下我。有一個問題卡得我很久,他說我在子線程裏判斷消行,主線程旋轉,如果主線程旋轉跟子線程消行剛好同步運行了,會不會造成數據紊亂,我從沒考慮過這個問題,一下子都不知道怎麼回答,只能說我玩這個遊戲也玩了很久了,一有BUG就調,從沒遇到這種情況。沒想到他對我的回答並不滿意,直到我後來說俄羅斯方塊如果能消行的情況,一定是不能再旋轉的情況了,因爲能消行的時候周圍的方塊會很擠,所以這種情況方塊旋轉經常要出界碰到原來的方塊的,這種情況我是不允許旋轉的(當然我這種解釋真的很牽強)。後來他就問了遇到的一些小BUG都有啥,我就只說了兩個,一個遊戲關閉後會彈出錯誤報告,發現是線程爲空的問題,原來沒去考慮魯棒性,要用Looper對象去執行線程啥的,還有一個就是背景音樂在遊戲切出去的時候沒有暫停這種小BUG。
  說了很久的項目吧,他突然問我了不瞭解JNI,我這幾天聽到這個名詞無數次了,但是我都只是聽說,所以最後很尷尬地說不了解。然後他又問了我兩個框架,一個RXJAVA一個eventBus,我能咋辦啊我也很絕望啊,我只能說不知道,他問我有沒有網絡編程經驗,我說學校的網絡課都是些理論的,作業也是問答題,沒接觸過套接字編程。最後問了我onsaveInstanceState和JAVA的stringbuffer和stringbuilder的區別,我總算知道了,就答瞭然後問了他一些對我的建議還有對面試流程的問題,他說技術面只有兩次,不知道有沒有HR面。
  整個過程下來,因爲不會的我都直接說不會,所以導致我以爲自己全程答得挺好的,剛走出去的時候還以爲穩了,現在看來其實真的蠻可悲的,JNI都不懂,框架也不懂,套接字編程也不懂。還是蠻可惜的吧,畢竟這一次過了就穩進網易了,就差這臨門一腳啊。
  怕是這個網易二面要涼了。終於正式地涼了一個。。。
2018.3.29


  

  哈哈哈哈一拳超人太好看了,有毒,把我這些天的壓力和不開心都卸得乾乾淨淨。不知道爲啥,在琦玉老師身上真的看到了很多小人物的影子。其實我向往的生活也不過就是這樣啦,有一個安心的小窩,能自食其力,然後有一些零散或者一定量的小時間來做自己喜歡的事,在這些小確幸中就能體會到自己生而爲人的一種喜悅。
  最後,去他喵的面試,鎖我簡歷說好會再聯繫的結果一個星期了都不聯繫,讓我像個網戀的小女生一樣天天查着進度等着電話,行啊,罷工罷工。
2018.3.30


  上午:
  剛剛得知自己金山的筆試大概率是掛了的,因爲金山明天在廣州面試了。鴨兒喲,還以爲金山能保底的,還以爲中大學子在他們眼裏很有牌面的,還以爲自己筆試答得很NICE。。。想想自己最近一直在期待着金山網易騰訊華爲啊等等的電話,結果一通都沒有,沒一個爲我打call,還是蠻難受的(我被刷了能不能馬上通知下我好讓我死心,不然我天天在期待着電話電話電話)。總算還是能體會到網上那些投了簡歷然後石沉大海然後心態爆炸的人的心情了吧,沒實力,找個實習註定備受折磨。只是突然覺得自己是不是不適合安卓開發啊,做技術真的這麼難嗎,爲什麼都沒個爸爸肯收留我QAQ
  只能說各個爸爸真的很嚴格,我這個菜狗都明白的,我收拾收拾就滾
  ORZ

  下午:
  我竟然來電話了!
  但不是面試通過的電話!
  在打計圖報告的時候,突然收到了杭州的電話,誰啊,懵逼,一接,鬼鬼,阿里的電話面試,整個人大腦都空了好幾秒。因爲阿里是我最最最早投的,投完馬上得到一個編程測試題,要我去找什麼文件循環依賴,那道編程題把我對阿里的期望全打沒了,我題都沒看懂,更別說代碼怎麼寫了。所以這十幾天裏我一直都覺得自己阿里筆試階段已經涼了,結果今天,這遲來的電話面試的難度並沒有讓我失望,阿里巴巴果然是我面過中最難的。
  那個面試官的聲音比之前兩輪騰訊電話的面試官要有力氣很多吧,時不時一聲乾笑也讓我覺得特別囧特別尷尬,恨不得找個地縫鑽進去的那種。上來就問我有做啥項目,然後問activity的生命週期,還有四種啓動模式。雖然沒做任何準備(這幾天也沒在看面經了已經),但還好這兩個我還會,答得出來,結果繼續下去就炸了,他開始問我fragment跟activity的區別,我說fragment在一個activity裏可以顯示多個,並且我們可以對每一個單獨的fragment進行操作,然後fragment在顯示上跟activity是很類似的。然後他乾笑了一下,說那我在一個activity裏用很多個view不一樣嗎,我就說可能fragment比較方便吧,他就說那具體方便在哪,我就卡殼了。然後問我爲什麼安卓官方推薦用recyleview,它和listview有什麼區別或者說優勢,我真的扯不出啥,只能重複listview用起來很卡,然後我喜歡用listview是因爲item之間自帶分割線而recyleview要實現這點比較難,但是recycleview可以拿來做下拉刷新,他對我的回答明顯很不滿意,要我說出它們代碼構架上的區別,我又卡殼了,說了一下他們點擊事件不一樣,一個click一個touch,他笑了,說這個不是大區別吧。我心態血崩。最後還問我線程跟線程之間用surface怎麼通信,我說我沒了解過,我都是用handle去通信的。他乾笑了一下,然後說面得也夠久了,今天就到這裏吧,拜拜,就掛了。。。掛了。。。。
  之前去網易和騰訊面試都是問到最後問我有什麼問題要問的嗎,結果阿里爸爸的面試官直接把我掛了,我真的好囧,半小時下來我一直有種直接掛電話的衝動:我知道我菜,但是我被虐得很難受QAQ
  唉、
2018.4.2


  金山霸面經歷。
2018.4.3


  今晚做了騰訊的正式筆試題,選擇題簡直不要太難,一堆數據結構操作系統數據庫(這三門課真的不要太重要),還有一丟丟計網編譯原理,只有最後一道題考了安卓,哎。
  編程題是我想複雜了吧,或者說,是我能力不夠吧, 看到這種都覺得難,思維發散不出去。
  只求騰訊爸爸給我一次面試機會,讓我死了這條心吧。
2018.4.5


  一星期過去了,好快啊。這一星期都在幹嘛呢。真的不知道,自從騰訊筆試被刷後(一萬個失落)都過得渾渾噩噩的了,畢竟是能進騰訊的最後一根救命稻草了,沒想到筆試直接就結束了,整個人都不知道繼續做啥好了(我所接收到的信息一直都是,如果暑假沒找到實習,那秋招,明年春招都會沒有任何競爭力)。
  今天去參加了華爲爸爸的面試,可以說是很社會了,真的刷新了我對面試的認識。原來還能這麼高效迅速地面試的嗎!我明明投的是安卓開發崗位,結果面試官跟我說我對安卓看來很感興趣,但他們是做雲計算的,很少涉及安卓,問我能接受嗎?exo me?我投的崗位就是安卓,然後五個部門瞎選了兩個,結果咋就面了非安卓的部門了???好吧,華爲爸爸在我心中是個超級大廠(福利真的好),所以只要能進華爲,妥妥的能接受啊!但是!爲什麼研發一面只問了我兩個問題!一個JAVA垃圾回收機制(這個我會),另一個0x00123456怎麼存儲在內存裏,這個我問是考察大端小端嗎他嗯了一下,然後我還是沒寫上= =,他就叫我去綜面了(不是說我一面過了,而是華爲只要是個面試者都有一面跟綜面)!我心態炸穿,就考察了兩道內存題。
  這個一面的面試官真的很不NICE!我說我自己寫的小程序,他馬上質疑這個網上代碼不是很多嗎?
  行,不吐槽了!我想綜面可能有很多技術對口的問題,來,等呀等,終於叫我名字了。我一過去,綜面的面試官要NICE很多了,至少讓我感覺沒那麼壓抑了,人是很友好很友善面帶微笑的那種。結果只問了我喜歡編程嗎?編程中遇到的最大困難是什麼?怎麼解決的?反正我問清楚後,他說得更明白了,人遇到BUG的時候都是很焦灼很焦慮的,問我是怎麼做的?我一通回答,什麼編程很有成就感啊,聽歌放鬆啊,跳出框架啊,當局者迷旁觀者清啊,他點了點頭,然後就沒了,沒了。
  我知道我菜,但是你們真的不再瞭解我其他方面的嗎,比如計網比如JAVA比如安卓啊啊啊啊啊、
  白看了!
  最後再吐槽一句!都超過一週了,金山爸爸說好的一週給消息的,現在咋回事!
  可能真的沒有消息就是最好的消息吧。
  因爲網易爸爸終於來信息了!心寒呀(難道就是因爲我不懂eventbus和RXJAVA嗎!)。

  

  後天15號再做一下頭條的筆試(摸獎也該摸到一次中的了吧ORZ),真的難受死。
2018.4.13


  今晚做了頭條的第二次筆試題,感覺頭條的筆試題樣例真的好坑。第一道題過了50%我認了,但竟然不是因爲超時,可能還有某些情況我沒考慮到吧。第三題真的不談,超級簡單,結果只過了2%,網上很多人亦如是,嚴重懷疑是樣例出錯!第四題連輸入是怎樣的都沒描述清楚,每次遇到這種輸入描述是若干個正整數的我就想笑,鬼知道你是while(scanf()!=EOF)還是while(cin),能不能再說清楚點,兩小時五道題還要讓別人去猜這些跟題目無關的東西嗎。
  就不談,畢竟招的都是神仙。
2018.4.15


  話說華爲的面試通過率好像真的很高?(有人說是個人都能去華爲)。我一面就問了兩道內存題,綜面問了我一個找BUG的時候怎麼調整心態。然後說我進了備胎池了。
  這裏寫圖片描述
  行吧,反正能不能撈起來還是兩說。然後頭條的樣例果然有問題,上次五道只過了一道80%,這次五道加起來50%+3%+2%也就55%,結果發短信來“誠邀”我選擇面試時間了,真是害怕。
2018.4.18


  看到別人陸陸續續都拿到offer了,自己真的可謂一事無成,一無所成。這次春招的面試經歷真的讓我看到自己身上的太多不足了,我不懂框架不懂網絡編程,別說安卓了,我對JAVA語言的熟悉程度也很差,系統學過的C/C++呢,抱歉,我對C++很多容器的函數都經常搞混,更別說什麼虛函數純虛函數繼承多態封裝了。不說編程了,說點別的基礎?算法?數據庫數據結構操作系統計網?我有好多好多東西要去懂,要去知道,然後這麼小白的狀態,怎麼可能拿到哪個廠的offer呢,真是癡人說夢!
  週六虎牙筆試,週日頭條面試,加油吧!
  就,就當練練,重在參與嘛。
2018.4.19


  今晚做了虎牙的筆試,選擇題感覺比別的廠要簡單多了(就是沒那麼刁鑽但基礎差的我做起來還是很有難度,因爲數據庫操作系統我很薄弱)。編程題也比其他的廠要簡單得多,樣例也不挑,是我做過的最簡單的了(不過三道題還是有一道題只過了50%,後來才發現是被題目的輸入樣例誤導了!應該多看輸入描述的囧)
  最後,RNG牛逼!UZI牛逼!五殺牛逼!
2018.4.21


  四點的頭條面試,愣是在面試直播間等到四點半面試官才進。

一面:
  一面面試官還是很NICE的,人很和藹,很照顧我的感受的囧,一些答不上來的問題甚至會告訴我答案,人真的很好。
問題如下:
  項目,項目的一些細節實現,怎麼做的這個項目,佈局實現?
  有看過安卓的什麼源碼嗎,我回答說沒有,但是瞭解過一些底層的東西,比如事件分發機制,然後他就讓我細講一下事件分發機制吧。還有對應的三個函數,傳遞(dispatchTouchEvent),攔截(onInterceptTouchEvent),消費(onTouchEvent),然後問我如果觸碰事情傳遞到子view後子view不消費會怎樣,我就說往上傳,傳給viewGroup去消費。
  JAVA,垃圾回收機制是怎樣的?內存泄漏?然後我還寫了兩個內存泄漏的例子,結果他不滿意,說一個經典的內存泄漏例子是,在一個activity中創建一個handle,然後給它一個延時的消息,讓它30秒後關掉這個activity,現在的話如果我在這個信息執行之前就手動把activity給finish掉了,會內存泄露,爲什麼,咋辦。然後我答了半天才答到內存泄露是因爲handle有activity的強引用,所以關掉這個活動內存還是沒法回收。所以可以在activity被關掉之前將handle解綁,也就是置爲null,這樣就不帶該activity的引用了。他說其實常規做法是用static,將handle變爲靜態類,同時實現handle這個內部靜態類中持有Context的弱引用,這樣就不會持有activity的強引用也就不會內存泄漏了。
  RXJAVA?我說響應式編程,基於觀察者模式,代碼可讀性加強,隨時控制代碼的運行線程等,但是具體的一些關鍵字我就說不出來。
  hashmap的底層實現?我就說鏈表加數組,jdk1.8後是紅黑樹,然後哈希衝突就在衝突索引對應的鏈表尾端插入數據。他問怎麼判斷衝突是要插入還是要替換,這個我就不懂了。
  hashmap跟hashtable的區別?一個輕量級線程不安全,一個線程安全,一個允許key和value爲空,一個不允許,除此之外都一樣。線程安全是吧,那你知道synchronized這個同步塊加在hashtable的哪裏嗎,這我哪知道= =
  arraymap?arraymap的內部實現是兩個數組,一個int數組是存儲對象數據對應下標,一個對象數組保存key和value,內部使用二分法對key進行排序,所以在添加、刪除、查找數據的時候,都會使用二分法查找,只適合於小數據量操作,如果在數據量比較大的情況下,那麼它的性能將退化。hashmap使用Serializable進行序列化,而arraymap則是使用Parcelable進行序列化。而在Android平臺中,更推薦使用Parcelable實現序列化,雖然寫法複雜,但是開銷更小。
  onSaveInstanceState()的調用時機,我說不是固定的,可能在onPause後也可能在onStop後,但是肯定在onDestory之前,然後他問我如果按back鍵會調用嗎,我不清楚,但是我的猜測是不會,因爲back鍵是自己主動關閉,再打開就是直接oncreate,而onSaveInstanceState的使用場景應該是在活動內存被回收纔去調用,再打開要先調用onRestart。
  做過前端是吧,http返回碼說一下?200是成功,404是找不到,其他的都不知道啊饒了我吧= =
  打代碼:順序打印二叉樹,之字形打印二叉樹,還行。
  最後我問了他幾個問題,他給了我很多建議,真的很NICE。
  
  頭條效率真的快,沒幾分鐘HR就打電話給我說一面通過了,7點前二面。
  行,結果我7點開始等,又是等了個半小時纔等到面試官進場。

二面:
  二面面試官剛好是我朋友的一面面試官,戴眼鏡,粉色衣服,上來問我認識XXX嗎,我差點以爲穩了!
  接下來一小時簡直在遭罪!
  起手講了一丟丟項目相關而已,感覺他完全看不上吧,就沒細問。
  然後安卓handle機制中,說一下這五個:handle message messagequeue looper threadlocal的對應關係,最後一個threadlocal答不上來。
  三次握手?叫我畫圖,爲什麼要三次,如果兩次呢?我說可能第一個請求報文超時重傳後又到了,這樣服務端就關不了了,他就說那我讓服務端加一個計時器,如果規定時間內沒再收到客戶端的報文就關了不行嗎,行,跟我對着幹是吧,我還沒轍,只能說TCP連接是全雙工通信,所以必須要有一方請求一個確認請求,三次握手只是因爲服務端把確認跟請求放在一次握手上了。
  final關鍵字?修飾變量(只有第一次初始化有效,相當於常量),修飾對象(對象的引用不能變,但是成員變量可以變。新建一個對象其實是在堆分配了一塊內存,然後我們這個變量本身內存在棧那裏,變量的值保存那塊堆內存的引用地址,所以final修飾的對象不能再重新引用堆地址,即不能再new一個別的給它,但是它本身的成員變量是可以被修改的,即你這個對象必須用那塊堆內存,但是那塊堆內存存儲的成員屬性值可以變),修飾類(防繼承),修飾方法(鎖定方法,防止子類重寫該方法),修飾參數(相當於常量)等都有什麼作用?
  art和dalvik?一個4.4以上,一個4.4以下,在程序運行過程中Dalvik虛擬機不斷地進行將字節碼轉換爲機器碼的工作。而Art引入了AOT預編譯技術,在應用程序的安裝過程中已經將所有的字節碼編譯爲了機器碼,在運行的時候直接調用。Art極大的提高了程序的運行效率,同時減少了手機的耗電量。
  service兩種啓動方式,區別?使用場景?一種start一種bind,一種可與活動通信一種不可以,bind可以拿來監視下載狀態。
  監視下載狀態是吧,那你說說下載的時候,怎麼斷點續傳,我就說計算已下載的文件字節大小,然後計算要下載的文件大小,算出百分比,然後重下的時候可以跳過這個百分比乘以要下的文件總字節的字節數,從後面繼續下。然後他要我從計算機網絡,從HTTP和TCP的角度來談談怎麼斷點續傳,告訴服務器我要從這裏開始續傳,我答不上來。
  前面至少有來有回,從這開始徹底爆炸,被降維打擊了!
  開放題,有多少答多少,想看看你的理解,比如一個遊戲我玩50分,你玩100分,這些日誌上傳到服務器的模塊要怎麼實現?或者你對思路是怎樣的?我就說用網絡框架,比如okhttp3,將數據序列化後post到服務器,服務器有對應的數據庫來保存,可以根據這個服務器來對數據進行排序醬紫(答得真的差,因爲我網絡編程真的沒接觸過!一定要加強!無數面試下來都是因爲網絡編程!)
  okhttp是吧,知道它的實現機制嗎?不知道!
  阻塞隊列非阻塞隊列知道吧?不知道!
  java.concurrent.*這個包有用過嗎,裏面什麼類比較熟悉?不知道!比如future沒用過嗎?沒有!
  class loader模型,類加載總該知道吧?不知道!
  做過前端是吧,安卓跟WEB的交互,一些WEB控件,像webview這些的實現呢?不知道!
  LRU,近期最少使用算法,這個是基礎,你總該知道吧?
  不知道!不知道!不知道!
  我滾好吧!
  他問我你專業是學計算機的嗎?
  奇恥大辱!
  然後我問一些關於網絡框架學習的建議,他舉了幾個:volley uil okHTTP retrofit
  最後問我有什麼比較熟悉的嗎,我說生命週期?他笑了,說二面不會考那麼淺的東西,我說策略模式,他說好,那如果策略模式用在你項目中要咋用blabla。。。。。

  頭條是真的快,沒多少分鐘就告訴我二面掛了,HR小姐姐好像很怕打擊我一樣,說我二面表現得不是很順利,所以只能到這裏了,祝我能找到一份好的實習。
2018.4.22


  今天去虎牙面試了(應該是我這次春招之旅的最後一站了),在虎牙大廈面試的。
  在一樓簽完到後,又去了15樓面試,一開始到了15樓發現沒有任何指引標誌,原來還得打HR電話告訴她我到了她出來接應(可是虎牙也沒告訴我要這樣做啊,我以爲跟別的廠一樣有專門的面試場的),然後進去後發現虎牙的工作氛圍蠻壓抑的,大家各做各的,板着臉,一句話都不講。HR小姐姐人很好也很溫柔,叫我們幾個先填下個人信息表,但是感覺一些員工們對HR小姐姐並不是很尊重,因爲在15樓硬是沒找到位置可以等,只能去16樓等,然後輪到我面試了再下樓。
  都是好幾個面試者直接在一張桌子旁坐,旁邊矮一點的桌子在面試,有一個面試官講話特別大聲,對那個面試者一通亂懟,什麼你synchronized拼不出來我不怪你,但是你括號區域你都搞錯了,我覺得你真的就不適合安卓,你應該去別的崗位看看,很大聲又很兇,一開始我坐在旁邊等的時候聽到這個嚇了我一跳,面試了那麼多個廠,很多廠的面試官都是很NICE的,就算知道你很菜不要你也犯不着這麼兇你,甚至會告訴你一些你需要改進加強的地方,會給你很多建議。這個呢,我覺得他也不過就是佔着自己多了幾年相關的工作經驗就沾沾自喜了吧,所謂後生可畏,做人呢,還是謙虛友好一點好。
  
一面:
  着重問了項目,還登了github看源碼,問了很多實現,問了canvas的理解,讓我手寫canvas的使用。然後問我網絡這塊,會不會用JAVA的httpclient網絡編程。我寫了okhttp的底層原理圖。
  一面面試官真的很NICE吧,看我寫出來後覺得我學習能力不錯,理解能力也行,理論夠了,就是動手能力還得再練練,誇我很優秀(真的很對不起這個一面面試官,感覺辜負了他的期望了。)
  
  一面很順利來到二面。
  
二面:
  因爲學校大一大二有實訓項目,在linux環境下做的,所以他問我對linux的熟悉程度,我就說也就熟練使用命令行操作吧。然後大一做的實訓是一個命令行管理系統,他就問我現在重新做有什麼改進地方,我說了保存文件會從原來的txt文本保存變爲數據庫或者服務雲端保存,然後不再用命令行界面,改爲可視化可交互界面,改用基於MFC的WIN32程序實現。然後他又問我如果用WEB或者安卓做,有什麼改進的。
  生產着消費者問題,手寫代碼(沒寫出來,囧)
  http get和post的區別?我說了長度一個有限制一個沒限制,然後一般一個用於獲取一個用於上傳,並且傳遞數據的方式也不一樣,一個直接在url明文傳輸,且不會修改到服務器,一個通過header請求封裝成再傳,會修改服務器。
  網絡http協議,抓過包嗎,包裏面都是啥,能詳細說說嗎。
  除了http還認不認識其他協議,我說了stmp、tcp/udp、ip、arp,然後他問我arp的使用場景,我說了輸入一個URL,在找DNS服務器的時候,發送DNS請求報文就要經過默認網關路由器,但是此時只知道默認網關路由器的IP地址不知道其MAC地址,所以需要ARP協議。然後他問我對DNS的理解,問我一般要迭代幾次才能找到IP地址。
  如果輸入一個url,發現跳轉的頁面不是目的頁面,而是一個別的頁面,這其中發生了什麼。我當時的解釋是可能發現你的請求報文不合法,被中間路由器攔截了,路由器按照攔截的響應返回一個響應報文給你,我們解析這個報文後就得到這個界面的html啥的了。現在想想應該是傳到目的服務器後,服務器發現不合法,然後返回一個對應的響應報文回來(我竟然會想到路由器來返回報文= =)
  問我求質數,用一個線程求和一百個線程一起求,哪個更快,廢話,肯定後者快,然後問我是不是線程越多越好。我覺得線程越多處理起來越快,但是佔用空間會越來越大,因爲每個線程雖然共享主線程內存,但是都有自己獨立的一塊內存區域,而且,本來一個線程可能可以處理很多個質數,如果你用很多個線程的話,每個線程可能只處理一點數據,這樣其實是一種浪費。
  數據庫索引的理解?如果現在有學生姓名,ID,成績,對成績已經建立索引,那麼怎麼通過索引去做到對成績降序排序,然後相同成績的學生姓名升序排序?我想了半天,問他怎麼做,他說這個問題就不可能實現,無解,狗吧= =

  二面還是很順利的,小哥哥人很好,感覺略靦腆羞澀。
  
三面:
  JAVA多態的作用是啥?炸了。
  設計模式哪個比較熟悉,我說單例,然後手寫了兩個線程安全版單例模式的代碼。然後問我DCL也就是雙層if控制版本的單例模式爲什麼要雙層if判斷,我本來想得通的,但是被他一搞卡了一會,最後才又想通了,感覺他就是這樣對我印象不太好吧。
  數圖高分辨率是怎麼實現的?
  死鎖是怎樣的情況,手寫一個。蠻簡單的。
  快排的思想是怎樣的?蠻簡單的,但是我很緊張,搞了半天。
到第三面結束然後等了一會,偷瞄HR小姐姐的表發現我剛纔三面被打了個叉,心情瞬間不好了。
  
  HR小姐姐告訴我可以回去了,後面有四面(專業面)的話再通知,專業面能過纔是HR面,看來是在備胎池了,有沒有四面還得看後面的面試者臉色了。
  而且exo me?專業面???應該是問安卓的了吧。
  虎牙可以的= =安卓放最後問,感情剛纔問我那些還是在考量學習能力吧。
  分這麼多面也是沒誰了(我坐個車一個多小時,又是地鐵又是公交的,公交路線還不好走)。
2018.4.25


  以爲自己春招之旅已經結束了,對所有還沒通知的面試結果也不抱任何希望了,結果今天突然收到華爲的offer通知,我也是,,,又驚喜又好無語,因爲是最奇葩的一次面試經歷,還是那句話,一面兩道內存題,綜面問我找BUG的時候怎麼調整心態。我覺得自己啥能力都沒展示出來(對比別的面試覺得自己穩了結果反而被刷),這個竟然讓我過了,而且這實習待遇,大廠有錢就是任性!
  真心希望這樣的大廠在社會上能越多越好!爲貧困人口的就業問題提供保障!
  好了這次可能真的穩了?不過沒想到還差臨門一腳,華爲需要填寫實習申請表,申請表又需要所屬院系或導師的簽名或蓋章,結果由於華爲要求實習不低於兩個月,中大暑假放得又比較晚,7.19開始放,我7.20實習到9.20都已經開學了,所以輔導員和副院長都不肯簽名(說是學校沒有硬性要求必須出去實習,或者簽了就是鼓勵翹課去實習,所以學校沒立場籤),愁死了囧。
  真是沒生個好年代,換做去年,沒改革的情況下(這裏好想吐槽某個快遞員),暑假哪有今年這麼短(我們學校的小學期又沒了),分分鐘都能出去實習了。
  退一萬步說,大四就那麼一門課,大家都是外出實習,你又想學生留校不實習又想學生畢業後能順利找工作,簡直是又想馬兒跑又不讓馬兒吃草,哪有這種事!
2018.5.3


  以爲秋招結束了,結果感覺還處於尾聲,看了那麼多大佬進騰訊網易,或者金山虎牙(這兩個,真是扎心了)。看到一個朋友在那糾結去虎牙還是華爲,然後說秋招華爲保底(扎心了),想着自己也就三月這一個月好好備戰春招了,其他時間,打打遊戲看看視頻,做做計圖細分,包括現在,數據挖掘實訓有個比賽要打,血崩。我一個月沒動過安卓了吧。
  然後這幾天收到阿里的筆試通知,5月11號的,還有今晚七點的模擬筆試通知。不是已經結束了嗎,怎麼五月了還在招人,趕忙登上網站一看,原來我之前是提前批不通過,阿里自動幫我網申了一個,所以我現在變成網申狀態了。但是今天終於把華爲的實習申請表簽名蓋章了(果然人多力量大,幾個人一起去找輔導員輔導員也不好意思趕你滾了),接下來等體檢通知就行了吧,不出意外是能去成華爲的吧。
  所以,這個阿里筆試就做做看好了,反正有之前電話面試的經歷,沒抱啥期望進。
2018.5.7


  體檢完等了差不多一個星期,收到了華爲的報到通知。
  接下來只要找好深圳的房租然後七月二十報到就開始實習了。
  不知道實習兩個月會不會影響到自己的秋招。
  不過也算是春招之旅的一個差強人意的結局吧。
2018.5.24


  終於結束全部考試了,不用再有什麼大作業什麼團隊項目什麼期中期末展示什麼實驗報告了,鬆了一口氣。
  我的大三下就這麼結束了。大四也沒有那些不省心的課程作業了。
  後天就去華爲報道了,但是轉眼間秋招也來了,我去華爲要到九月下旬才能回校,這期間真的能對付得了秋招嘛。。
  最嚴重的是這幾個月安卓都忘得差不多了,我怕秋招連一面都過不去了囧。。
  一事無成的本科生,好迷茫。
2018.7.17


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章