學習方法分享:為何一年半就能拿到大廠 offer

来源:https://www.cnblogs.com/Nealyang/archive/2019/09/23/11571814.html
-Advertisement-
Play Games

畢竟是聊聊曾經,放一張大學課堂上靈光一現,手寫的一個我曾經一直使用的網名 前言 原文地址: "Nealyang/personalBlog" 講真,的確是運氣,才有機會進大廠。也沒想到,那篇一年半工作經驗試水杭州大廠的面經如此受歡迎。後面也有很多朋友在群里問我,你是如何學習的? 此篇為xxx 經驗進阿 ...


畢竟是聊聊曾經,放一張大學課堂上靈光一現,手寫的一個我曾經一直使用的網名

前言

原文地址:Nealyang/personalBlog

講真,的確是運氣,才有機會進大廠。也沒想到,那篇一年半工作經驗試水杭州大廠的面經如此受歡迎。後面也有很多朋友在群里問我,你是如何學習的?

此篇為xxx 經驗進阿裡的終結篇,希望從此以後就翻過了,不再提了。不然總有種炫耀的感覺,倍感壓力,汗顏汗顏~

此篇也並非技術軟文。大概介紹下我在進阿裡之前、工作中都經歷和做過了些什麼,最後我會分享一下敲開面試之門的那封簡歷。

關鍵節點經歷交代

經歷階段,我儘量簡短。

大學期間

從農村走出來的孩子,從只開開機關機到各種參加比賽,鬼知道我如何瞭解編程的。

最終我拿過Oracle java 全國青年設計大賽東北賽區一等獎、藍橋杯編程省一、國三等等四五個編程方面的獎項吧。

大四實習期間

我使用 java 編寫的坦克大戰自定義 hack 版推開的實習公司漢得的門。在移動部,我原以為是用 java,結果是 hybrid App 開發。所以,實習期間,是我開始學習前端的開始。

剛開始的學習過程大家都一樣,w3c搞起,最終,我成為了團隊裡面第一個帶新人的,我還帶人開發了現在匯聯易App 的第一版。90%代碼是我一個人寫的。也理所應當的拿到了年度最佳新人獎項。這裡再次感謝當初給我機會的我的老大,順哥。

但是說實話,當時的技術,前端基礎都掌握的不行、都是在用 ionic、cordova、angular。甚至連 jQuery 都不會。。。

第一份工作

畢業後在北京,第一份工作在環球網,事實證明當初的選擇是正確的。

我正式接觸前端,從編寫頁面開始。從剛開始的添加一個 click 事件監聽都要百度,到最後半天能產出一張活動頁。

後面一周學習 RN ,扛下了獨自環球網 App (Android 版)的大旗。再後面調到平臺組,開始接觸了 react、node。

遇到過一些很多難的項目,也是當時我說的,怎麼我一直在坑中。而這最後,都成為了我簡歷中比較出彩的地方。

阿裡

後面決定跳槽,就想擇一城。來到杭州,也就是大家看到的一年半前端工作經驗試水杭州:我是如何拿下網易、阿裡和滴滴 offer 的

關於前端

以下所有言論都是個人觀點。如有不妥歡迎指出,一起交流

就前端而言,我個人認為有三個階段。認知階段、鑽研階段、掌握階段

認知階段

所謂認知階段,就是開始接觸前端,開始學習前端。

學習方法

這個階段應該算是我在實習的階段吧。一個從來接觸過前端的大學生。簡單總結就是各種看書、學習。

  • 從最基礎的 HTML、css、JavaScript 開始學習。我個人是從 w3c 開始學習的,然後還順帶做了線上的知識掌握測試。
  • 每一次的工作都是挑戰,每一次挑戰都是成長。也是從這個時候,我開始養成了寫博客的習慣。
  • 遇到任何新的技術,都從官網開始學習。因為這個階段,官網能幫你解決 99%的問題
  • 遇到問題,儘量靠自己,別動不動就在群里提問。甚至,你要主動找問題。偷偷告訴你,我的 qq 群、微信群,都是我在剛學習這類知識的時候創建的,初期我是儘可能的回答群里每一個問題。雖然我是菜鳥,但是我會百度、Google 呀!

截止到 16 年初。這是我在實習階段整理總結的自己項目中遇到的問題

開源中國 Nealyang 邪氣小生

鑽研階段

所謂鑽研階段,就是你基本已經入門前端了,需要找一個方向,去學習,去鑽研。比如三大框架是否可以挑選一門入坑。註意是鑽研,而不是淺嘗輒止。

學習方法

在這個階段,我依舊會瀏覽各個官網的信息,同時就我個人而言,當初選擇的是 react 技術棧+node ,這也是我最開始創建的兩個技術交流群。

當然,工作中,恰巧我也用了一周時間學習 React Native,完成了官方 App 的代碼編寫。這讓我提前對 react 有了一些瞭解。掌握 react 技術棧對於一個初學者來說挺艱難的。我花了一周,看完了所有教程。然後開始學習 react-router、redux、react-redux、然後也接觸到了 webpack,在此之前,我剛學習 gulp(開源中國博客列表可見相關總結)。

我的學習方法比較劍走偏鋒。既然看完了知識點,直接開乾。

  • 大概花了四天時間看了 nodejs 的基礎知識,我寫了一個 demo:ejs-express-mysql
  • webpack 學習完阮一峰的 demo 後我也開始百度、Google,完成一個自己項目的配置:neal-teach-website
  • redux 我是通宵學習了一個周末,並且在周一寫了一些 demo、寫了相關感悟study-redux
  • 然後開始將react 技術棧串聯起來的時候,發現了 redux-saga 要學習,並且整體項目結構非常的亂。於是乎,我又開源了一個 demo:React-Fullstack-Dianping-Demo ,這是一個朋友分享給我的慕課網教學視頻,但是說實話,通篇看完,覺得老師講解的不是很對口,遂自己寫了一個開源出來。
  • 通篇學習完後,又寫了一個總結性的Demo,也就是 github 上目前個人倉庫下最高 star :React-Express-Blog-Demo

以上這些只是我個人學習 react 的時候,並且所有的學習都有相關產出、所有的 demo 都在 github 可見。同時在工作中,也有在使用和學習。

回頭看看,我一直在冒充著大神,其實開源出來的時候,自己也在學習,自己也沒有完全掌握。因為我感覺如果都是寫一些自己會的,那簡直是太浪費時間了。

除了 react 以外。在這個階段,我 啃完了所有 讀了很多 JavaScript 經典書籍、紅寶書、犀牛書(看了 60%)、ES6、高性能 js、你不知道的 js 系列、忍者秘籍等等,並且感悟深的都有在各個平臺上留下相關筆記。

在這個階段,你有太多需要學習的了,任何你不知道的,你都應該知道!不要等工作、業務上來給你知識盲區掃描。自己主動找自己的技術方向。有目的、有結果性的學習~

掌握階段

其實就我個人感覺,我應該屬於第二階段往第三階段過渡的一個階段,所以這裡不能給出我個人的總結了。說下這個階段,我自己的個人規劃供大家參考吧。

這個階段的我,已經進入到了自己心儀的公司。並且身邊的大牛幾乎是每天都能給到自己壓力。所以學習。。。依舊是我最為核心的目標。但是同時!業務的理解和掌握,也是我這個階段要去提升和重視的一點。

這個階段,我需要做的很多。說一下對自己的期望

工作上

  • 帶有業務思考的去編寫每一行代碼。對於代碼規範、組件的封裝、整體架構的搭建需要進一步的去思考、學習。
  • 明白Bu的核心利益是什麼,你對Bu 的貢獻點、以及如何利用好自己的技術來反哺業務。
  • 多從業務上去尋找技術的突破點。從技術的突破點去尋找自己的方向。
  • 從前端團隊的角度去思考如何解放前端腦動力。時刻保持敏銳的嗅覺去思考團隊的開發流程、技術痛點等,並努力尋求解決辦法。

學習上

  • 學習基於業務。但是依舊要明確自己的未來領域。
  • 多做技術分享,多和大牛接觸、以提高自己的技術視野和未來前端方向的嗅覺
  • 再重溫一次前端,多些總結性文章。
  • 對於前端領域現有知識,不要求能夠面面俱到、但是能夠做到提綱挈領
  • 保持一顆有空就學習的心
  • 提高自己非技術以外的軟實力(作圖、架構思考、做 PPT 等)
  • 個人品牌影響力的打造(不得不說,github 幫我敲開的阿裡大門)

總結

總結如上所說,其實我沒有走任何捷徑。只不過

  • 學習東西果斷、堅持。並且一定會有產出(博客、github)
  • 不怕遇到問題,甚至主動找別人遇到的的問題,然後自己幫忙解答(技術交流群)
  • 學習新東西只是瀏覽一遍官網介紹和 api,然後直接上手寫 demo、不會再去查!
  • 多瀏覽技術論壇、博客。常備梯子你懂得。多和大牛接觸,交流(但是註意:沒有大牛是閑著的)
  • 一定要寫!寫!寫!不要只會看!讀!
  • 技術不能脫離業務,多去思考業務痛點、團隊工作流痛點、技術突破點。
  • 提高自己的技術思考能力,不僅僅要學習,更要學會去創新、去思考 why。

最後,我想說,其實我也依舊還有很多需要學習的地方。此篇文章,是對一直以來支持我的哥們一些疑惑的解答。因為我的確給不了最為有效的學習方法和建議,所以只能簡述自己的情況提供參考。如若說的不對的地方,還望見諒。

勿忘初心!狂而不傲 peace~

福利

微信公眾號內回覆:【簡歷】 獲取筆者面試大廠大門的敲門磚簡歷

下一篇我將介紹:阿裡一面,我是如何面試 p6、p7 的(面試題以及打分分析)

學習交流

關註公眾號: 【全棧前端精選】 每日獲取好文推薦。

公眾號內回覆 【1】,加入全棧前端學習群,一起交流。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、js如何獲取數組的key function getObjectKeys(object){ var keys = []; for (var property in object) return property; } console.log(getObjectKeys(3332:[])) // 3 ...
  • 在ie11中打開vue項目一片空白,F12打開控制台發現如下錯誤 只需要在build/webpack.base.conf.js中加一行代碼即可 ...
  • 本文主要使用坐標軸的使用來繪製多邊形,點位則都是在y軸上尋找,這種方法能夠更好的理解圖形與修改。 這張圖片是代碼執行後的結果 ...
  • 1. 概述 Proxy 用於修改某些操作的預設行為,等同於在語言層面做出修改,所以屬於一種『元編程』即對編程語言進行編程。 1.1 理解 Proxy 是在目標對象之前架設一層『攔截』,外部對對象的訪問,都需要經過該層攔截。因此在攔截中對外界的訪問進行過濾和改寫。 在Es6 中 提供了原生的 Prox ...
  • 快來點我吧 ...
  • function getCount(arr, rank,ranktype){ var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; i < len; i++) { k = arr[i]; if (obj[k]) obj[k]++;... ...
  • 博客園美化博客隨筆目錄 基於 在`2014 5 11`寫的目錄代碼基礎上進行改進 一.js代碼 二.css代碼 三.展示效果 未打開狀態 展開效果 hover效果 三.在原先的基礎上解決的bug 1.目錄由於其他js導致沒法載入(最主要修改的內容) 2.修改了樣式 3.修改了hover樣式讓他看起來 ...
  • jQuery基礎(三)- 事件篇 1、jQuery滑鼠事件之click與dbclick事件 click方法用於監聽用戶單擊操作,dbclick方法用於監聽用戶雙擊操作,這兩個方法用法及其類似,所以這隻介紹click事件,只有單擊釋放後才生效,而且同一元素不能同時綁定click和dbclick事件 方 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...