摘要:寫在最前本次分享一下在作者上一次失利即拿到畢業證第二天突然收到阿里社招面試通知失敗之后,通過分析自己的定位與實際情況,做出的未來一到兩年的規劃。在博客有一定曝光度的積累中,陸續收到了一些面試邀請,基本上是阿里的但是我知道我菜。。
寫在最前
本次分享一下在作者上一次“失利”即拿到畢業證第二天突然“收到”阿里社招面試通知失敗之后,通過分析自己的定位與實際情況,做出的未來一到兩年的規劃。以及本次社招的面試經歷(但這部分不是重點,每個人的面試經歷都是不一樣的。千人千面嘛)
PS:當然了計劃趕不上變化,半年后一次內推的機會“稀里糊涂”得就通過了。。
歡迎關注我的博客,不定期更新中——
基于個人定位與實際情況的發展方向上一次面試掛了后,我便對自己的情況進行了總結:
17屆普通211,非cs科班。數據結構與算法、計算機基礎等方面相對薄弱。
在面試掛掉的時間點是17年6月,實習半年,尚未畢業,缺少硬性工作經驗條件。
公司內部尚無主力產品,工作基本為零散項目,缺少業務驅動的可深挖性。例如有主力產品為react,那么你可以借著業務深入了解其源碼與原理等一切以react棧為出發點的知識與實踐經驗。
前端基本功技術棧:css相對弱(因為我真的懶得寫樣式),對js的基礎知識興趣濃厚,同時向往服務端,嘗試基于node搭建服務。
于此同時我個人認為通過面試的最重要關鍵點:一定要有一個亮點打動你的面試官!
什么是亮點?亮點就是在某個層面的深入研究成果:)
PS: 只是針對剛工作的伙伴,高p請放過我
個人理解亮點可以是兩方面:
在公司的項目中中,源于業務并高于業務的沉淀。正如同之前我總結個人情況中提到。如果你的簡歷里面主要介紹了react的項目。那么這其中會存在兩個互補的研究即項目與react(同理還有vue與項目等等,為啥不是多帶帶的react、vue;因為這只是個框架,結合框架解決實際問題才是最重要的,框架真的太多了,但業務都是相似的):
(1)業務的難點,如何解決,更好的思路?針對業務的優化?等等業務層面的深挖。
(2)針對react你都了解多少?如果你對其了解只停留在api的階段,那應該是涼涼了。。源碼?設計思想?至少給知道diff怎么回事,setState到底是同步的還是異步的,以及為什么要這么處理?等等很多。
核心思路就是通過你的業務與對技術相結合的深度挖掘來打動你的面試官
第二點我是針對自己做的,因為結合我之前的分析可以發現我其實不具備1的條件,即沒有主力業務。在你的業務量極小的時候,你是沒有業務驅動的需求去讓你挖掘那些背后的優化與更好的解決方案的。也許你會說那你也可以讀react源碼啊。但是,我讀了源碼不能反哺到業務中又有什么用呢?不知道如何解決實際的問題,仍然沒有做到1的要求即項目與某框架的技術的結合沉淀。故針對我個人情況我選擇了如下方式:
(1)由于自己其實沒有別人那么忙,我就強制自己每周周末堅持沉淀自己,并產出技術文章,不論是哪個方面的(因為我真的做不到1中的事情,我只好多學習多產出)。通過撰寫博客引起更多人的關注,同時也可以讓面試官側面了解我,畢竟一次面試能決定的東西太少了。
(2)在這個過程中我找到適合自己的路,選擇一個較脫離主要業務(react之類的)的技術方向來進行一定程度的研究(我選的是canvas與node)。核心思路還是你要自己有自己的沉淀并以此試圖打動面試官(逃
這是我半年來關于canvas與node的一些學習與記錄:
canvas進階——實現靜態圖像的變形并合成動態效果
Canvas進階——貝塞爾公式推導與物體跟隨復雜曲線的軌跡運動
bezierMaker.js——N階貝塞爾曲線生成器
[基于canvas使用粒子拼出你想要的文字[2]——粒子的動畫效果](https://github.com/Aaaaaaaty/...
基于canvas使用粒子拼出你想要的文字
基于canvas使用貝塞爾曲線平滑擬合折線段
用canvas實現視頻播放與彈幕功能
基于canvas實現波浪式繪制圖片
基于 canvas 實現的一個截圖小 demo
Node.js EventEmitter類源碼淺析
初探Node.js Stream中Readable類的內部實現
基于node實現文件路徑替換
基于casperjs、resemble.js實現一個像素對比服務
V8中一個微妙的內存泄露方式
給文檔添加一組掘金的「小盾牌」
基于node的微小服務——細說緩存與304
基于 node 的微小爬蟲——扒了一下知乎
基于Vue、Nodejs、Socket.io的聊天應用
半年來技術沉淀的成果與自我感覺的“亮點”半年中總結了34篇包括但不限于css、js、node、canvas等技術博客托管在github中,獲得了400個star,同時發布了bezierMaker.js——N階貝塞爾曲線生成器。
在博客有一定曝光度的積累中,陸續收到了一些面試邀請,基本上是阿里的;但是我知道我菜。。就沒去,可能有的是群發,不過都提到了我的博客可能還是編輯了一下的吧:)
讀了node源碼并提了第一個pr,但由于“口齒不清”的英語,和node項目維護者敘說很久無果就不了了之了,也算一次實踐吧
個人最得意的一個小作品即自我感覺的“亮點”canvas進階——實現靜態圖像的變形并合成動態效果,在之后的面試中的項目經驗中主要介紹了這個。與此同時這篇文章中收到w3cplus大漠老師的邀請,希望將canvas系列文章發布在其網站中
突如其來的面試2017.12月末,師哥突然跟我說現在部門有機會要不要試試,我本來是想拒絕的,因為距離上次被拒只差了半年,加上我現在工作經驗滿打滿算也就一年,其中還有半年實習。。好的一面就來了:),由于這篇文章不是純粹的面經也不是純粹的技術文章,同時很多面試題都是有答案的,故大家有興趣自行百度下面面試題,作者不過多說明。
一面一面其實就是我的師哥。。所以嚴格來說就是一次交流,沒有技術上的問題;因為我的朋友圈其實已經發了很多我自己的玩具代碼了估計師哥心里也是有數的:)
主要介紹了目前團隊所做的業務、相關的理念等等。更多的就是互相了解情況,我大概說了一下我這邊做的事基本也就結束了。
二面二面是師哥的老大,也是未來我如果入職的上司。其實這才算是一面。他更多的是來對我了解一些基礎情況與一些技術思想(他本身是java)聊得很快也就20分鐘:
自我介紹
react、vue原理,這個雖然源碼沒看過但是兩者的區別還有基本的思想還是能說幾句的
react怎么優化?關于優化其實react的diff算法是怎么計算的你了解清楚了就知道什么操作會讓diff算的慢也就知道怎么優化了:)
為什么選擇阿里?因為是阿里
好像沒問什么了結束的很快,同時告訴我下次是前端組leader來面試
三面面試官好像和豆瓣有些淵源,上來就問我你是不是克軍團隊的,我說我不是。。
自我介紹
先從簡歷的項目了解一遍,時長大約20分鐘,其實很多就是很久前做的都忘記了就是大概說說。。
react的思想是什么?數據驅動balabala,舉了一個之前封裝輪播圖的例子
對redux怎么看?這個強力推薦這篇文章,拯救了我這個問題從時間旅行的烏托邦,看狀態管理的設計誤區,這位文章的作者雖然喜歡懟人但是技術還是很強的
碰到問題你是如何解決的?百度、谷歌、別人的文章;但是!我其實并不相信別人的文章,很多東西的底層應該是規范而不是別人的總結,比如我總結的從HTML5與PromiseA+規范來看事件循環,在代碼的世界里,其實不需要太多別人的理解,規范就是規范,真的想知道為什么,就去看看底層的定義。這可比你讀了誰誰的文章來的靠譜,畢竟人都會犯錯?
0.1 + 0.2 ? 我脫口而出不等于0.3,然后面試官好像有點吃驚,“你是在網上看到這個題?”,“我其實很喜歡這種js的邊邊角角”,自己總結過一些比如類型轉換之類的:)
函數與構造函數的區別?我覺得沒啥區別,區別都是new調用做的,改了this的指向而已
那么延伸一下,數值怎么存儲?64位浮點型;“小數怎么存儲?”嗯其實關于小數二進制存儲有點懵,就沒說上來。。
關于css,說一下并列布局的方式;核心思路是怎么讓block不自適應平鋪為整行。觸發bfc就可以了;比如絕對布局,float,inline-block等等
有沒有一些有意思的項目?終于等來了可以介紹我的“亮點”作品了,關于作品是啥往上找。。主要就是將靜態圖通過繪制自定義貝塞爾曲線變為扭曲效果同時生成過程動畫。對這個項目的原理我和面試官討論了給有20分鐘,看得出來他對這個項目很感興趣或者說這么做的思路也是平時少見的。
你在同事眼里是個怎樣的人?怎么感覺像是hr在跟我說話。。我覺得還算nice吧嘻嘻
你現在在北京,打算來杭州么?去!必須去!不去肯定掛了。。
筆試穿插了一個筆試,就一道題:寫一個js的通用事件綁定函數
交叉面交叉面充分說明了,沒有主力業務的可怕=。=,因為你不能光寫你的作品吧?你總給寫公司的業務,但是這個業務吧你又沒有需求把它優化到別人的標準,或者說根本沒有優化:)
一開始介紹了自己的項目也就是上面提及的。面試官接下來一句我就涼了,在webgl中也可以實現? 好的我沒用過webgl?!芭稕]用過,好的”
移動端做過什么優化么?我心想我這邊的業務,都是活動頁做啥優化。。但是我還是說了我看到別人的優化方案,例如直出、域名收斂
“域名收斂?為什么要收斂?”“因為dns解析慢?。俊薄澳呛蚿c端有什么區別,pc端域名不是發散來提高并發數么?” 我心里一想是啊,其實瀏覽器pc和m沒啥區別那為啥一個發散一個收斂,或者說發散我們都知道克服pc瀏覽器的并發限制。那m端?我當時有點迷沒說上來就過了,回來又百度了一下感覺上其實就是m端網速慢dns太耗時。。我沒反應過來還有網速的事情
js與native怎么交互?內心獨白:我*,我真沒做過。?!班烹m然我沒做過,但是我了解過應該是native定義一套協議,js使用該協議發請求,native攔截解析并返回js的所需balabala”
緩存策略都有哪些,包括native;我??我沒做過native啊。。緩存策略對瀏覽器的我研究過一些基本就是基于我這篇文章來說的基于node的微小服務——細說緩存與304
看你的簡歷里寫了rn項目,對rn有做過優化么,全量么?有沒有自己改過內核?這就是我之前說的我所面臨的業務問題,我這個rn項目撐死了是兩個人寫的,很快就結束了不維護了都,哪里來的優化。。哎所以身在一個好項目中很關鍵;“嗯沒做過優化,只是使用層面(微笑臉”
除了react對什么框架熟悉?“畢設用的vue,僅限使用”
vue與react有什么區別?“于我來說最直觀的是寫法的區別,jsx與模板;同時debug中也存在差異。再有就是框架實現思想上的區別了,數據綁定與diff”
看你寫的截圖插件,碰到動態圖怎么辦?“當時使用的是html2canvas,其中確實會存在動態圖截取失敗的問題,嗯確實沒有好的解決方案”
看你的博客,對canvas使用的很多,有過一些沉淀么比如引擎?我*,引擎??“沒有沒有,不過我封裝過一個貝塞爾曲線生成器”
m端與pc在html5的新特性上有哪些是不一樣的?有做過什么么?表示我真的忘了有很多新接口,比如電池陀螺儀之類的;一時間想成了pwa的特性。。“我用過新的音頻api接口,雖然pc與m都有,但是這個做了一些效果,實現了讀取從設備收取的外界聲音,轉化為可視化波形”
參與過開源項目么?給node提pr被拒了很慚愧,但是也有收獲
自己覺得積累最多的沉淀是什么?可能是對js語言本身上的一些探索吧
終面&hr來到了北京的一個工作點,準備視頻面,我之后才反應過來我其實已經被hr面過了。。因為跟在老板身邊是個男的。。
自我介紹
項目介紹,主要介紹了canvas。
hr:為什么畢業半年就準備換工作?因為再待在舒適區我就廢了
hr:當時實習半年你就已經了解了情況為什么不考慮當時就走?因為三方。。
hr:單身來杭州?有女票,不過是浙江人
沒什么問題了,你有問題么?沒
很快就結束了也就20分鐘不到吧
小計至此完成了對自己這邊年來的準備的一個回顧與面試經驗的分享。面經不是重點每個人都是不一樣的,更重要的應該是如何在當前的工作中找到自己應該努力的方向,并且持續地發光發熱,讓別人認可你,打動他們。
PS:目前是待發offer狀態,之后如果hc沒有問題,背調沒有問題,體檢沒有問題,我就可以奔赴2000公里外的杭州了。當然了結果很重要,但過程更令人回味更多。
PPS: 這一切都是個人感悟,說的不對的,不嚴謹的,歡迎一起分享你的想法,在碼夢的路上,一去不歸。
PPPS:由于只畢業半年,我估計可能是p5(但是社招p5基本無hc),p6就太賺了,不過這都是后話,靜候佳音
最后慣例po作者的博客,不定時更新中——
有問題歡迎在issues下交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107235.html
摘要:第一個問題阿里面試都問什么這個是讓我最頭疼的一個問題,也是群里的猿友們問的最多的一個問題。我參加的是阿里的社招面試,而社招不同于校招,問題的范圍其實是很隨機的。所以,不妨就這兩個階段,談談社招面試的準備,而不是去把阿里面試的過程背一遍。 引言其實本來真的沒打算寫這篇文章,主要是記憶力不是很好,不像一些記憶力強的人,面試完以后,幾乎能把自己和面試官的對話都給記下來。自己當初面試完以后,除...
摘要:三年百度,五年阿里,阿里架構師淺談我是如何順利進入前些天在我群里認識了以為挺有意思的老哥,他也是工作年多技術和面試都不差,最近也是在找工作,是從京城來魔都的,也和他撈了不少。 說來慚愧,也不怕你們笑話。做開發8年多,到目前還是一名不折不扣的掃地僧。年前的辭職,到現在還在家靜養中。其實也沒什么,就是回家總結一下自己這些年來在外工作與面試等做一個簡單的總結與反思。做一下自己后面一個人生規劃...
摘要:獲取的對象范圍方法獲取的是最終應用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據我測試不同環境結果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續更新中……,可以關注下github 項目地址 https:...
閱讀 1669·2021-10-13 09:39
閱讀 2098·2021-09-07 10:20
閱讀 2678·2019-08-30 15:56
閱讀 2944·2019-08-30 15:56
閱讀 931·2019-08-30 15:55
閱讀 624·2019-08-30 15:46
閱讀 3494·2019-08-30 15:44
閱讀 2552·2019-08-30 11:15