三年經驗前端社招——樸樸科技

大家好,我是若川,祝大家中秋節快樂。最近組織了源碼共讀活動《1個月,200+人,一起讀了4周源碼》,已經有超50+人提交了筆記,群里已經有超1200人,感興趣的可以點此鏈接掃碼加我微信?ruochuan12?參與。

本文經作者@lxcan 授權轉載,未經授權請勿直接轉載。
原文標題:《三年經驗前端社招——樸樸科技》
原文鏈接:https://zhuanlan.zhihu.com/p/405785932
文末點擊閱讀原文直達

前言

本人畢業學校是雙非二本,非計算機科班出身,大學時自學的前端相關技能。截止2021年8月,有3年前端開發經驗,技術棧為 vue 全家桶,求職意向城市是深圳。想著找一個更大的平臺尋求發展(技術沉淀、漲薪),所以出來接受社會的毒打了。。。

本文的目的是記錄自己的面試經歷,各位路過的兄dei也可以參考一下,也讓自己有個回顧和反思。路漫漫其修遠兮,吾將上下而求索

下面的題目,都會標明每一題的性質,部分題目也會給出一些參考思路和參考回答,希望各位大佬不吝賜教~

  • 描述:對概念、過程的描述,純理論性問答題為主

  • 舉例:說出應用場景,或者是自己團隊實踐的情況

  • 偽代碼:寫代碼,但不需要跑起來,甚至可以隨便寫偽代碼,主要目的是描述思路

  • 編程:真正的寫代碼,需要跑起來,有測試用例,要看到效果

HR面的話,是一些日常、項目回顧(少說技術細節)、職業規劃、你的優勢和缺點、為什么跑路、為什么選擇這邊、目前薪資和職級、期望薪資,HR面基本離不開這些問題。

一面

1、項目問題,深挖細節,說幾個做過的項目中,你覺得比較復雜的功能【描述】

2、h5 首頁為什么做成了服務端渲染?【描述】

3、打包結果優化,具體做了哪些優化【描述】【舉例】

4、vue 中 beforeCreate 和 created 的區別【描述】

5、vue 中用過哪些修飾器?【舉例】
事件修飾符
.stop
.prevent
.capture
.self
.once
.passive

按鍵修飾符
.enter
.tab
.delete (捕獲“刪除”和“退格”鍵)
.esc
.space
.up
.down
.left
.right

其他常用的修飾符
.trim
.number
.lazy
.sync

6、vue 中 computed 和 watch 的區別【描述】

  • computed 一般用于簡化模板中變量的調用

  • watch 一般用于監聽數據的變化,做一些邏輯處理或者異步處理,可以深度監聽、立即執行

  • computed 和 watch 在源碼里都是通過 Watcher 類創建出來的

  • 初始化時,先創建 computed 再創建 watch 。數據改變時,先執行 computed 再執行 watch

7、vue 中 key 的作用是什么?【描述】
Key 的作用:
主要用來在虛擬 DOM 的 diff 算法中,在新舊節點的對比時辨別 vnode ,使用 key 時,Vue 會基于 key 的變化重新排列元素順序,盡可能的復用頁面元素,只找出必須更新的DOM,最終可以減少DOM操作。常見的列子是結合 v-for 來進行列表渲染,或者用于強制替換元素/組件。
設置 Key 的好處:
(1)數據更新時,可以盡可能的減少DOM操作;
(2)列表渲染時,可以提高列表渲染的效率,提高頁面的性能;

8、比如,在 v-for 時寫了 key ,將第二個元素和第三個元素交換了順序,實際的 diff 算法怎樣的【描述】

9、有沒有做過組件的抽離和組件庫的開發?具體做了什么工作【描述】

10、內部組件庫,怎么本地開發和調試?怎么上線?本地調試有哪些方式【描述】【舉例】

11、聊一聊瀏覽器的渲染機制,瀏覽器是怎么解析和渲染html的?【描述】

12、js 異步加載的方式?defer 和 async 的區別?【描述】
(1)defer 是在HTML解析完之后才會執行,如果是多個,按照加載的順序依次執行
(2)async 是在加載完之后立即執行,如果是多個,執行順序和加載順序無關

13、重定向的狀態碼有哪些?它們的區別是什么?【描述】【舉例】

14、https 相較 http ,是怎么體現安全性的?【描述】
http: 超文本傳輸協議(Hypertext Transfer Protocol),是互聯網上應用最為廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的標準(TCP),它是一個在計算機世界里專門在兩點之間傳輸文字、圖片、音頻、視頻等超文本數據的約定和規范。
https 的全稱是 Hypertext Transfer Protocol Secure , 它用來在計算機網絡上的兩個端系統之間進行安全的交換信息(secure communication). HTTPS 是 HTTP 協議的一種擴展,它本身并不保證傳輸的安全性,那么誰來保證安全性呢?在 HTTPS 中,使用傳輸層安全性(TLS)或安全套接字層(SSL)對通信協議進行加密。也就是 HTTP + SSL(TLS) = HTTPS。
(TLS(Transport Layer Security) 是 SSL(Secure Socket Layer) 的后續版本,它們是用于在互聯網兩臺計算機之間用于身份驗證和加密的一種協議。)
http 和 https 的區別

  • https 協議需要 ca 證書,費用較高

  • http 數據信息是明文傳輸,https 則是具有安全性的 ssl 加密傳輸協議。

  • 使用不同的鏈接方式,端口也不同,一般而言,http 協議的端口為 80 , https 的端口為 443

  • http 的連接很簡單,是無狀態的;https 協議是由 http + ssl 協議構建的可進行加密傳輸、身份認證的網絡協議,比 http 協議安全

15、https 證書的作用是什么?【描述】
CA 的全稱是 Certificate Authority,證書認證機構,你必須讓 CA 頒布具有認證過的公鑰,才能解決公鑰的信任問題。

存在一個數字簽名的認證問題。因為私鑰是自己的,公鑰是誰都可以發布,所以必須發布經過認證的公鑰,才能解決公鑰的信任問題。

16、講一下js原型鏈【描述】

17、由構造函數創建的實例對象,和構造函數本身,他們的原型鏈有什么區別?【描述】

18、講一下閉包?實際開發中有什么應用?【描述】【舉例】

19、flex 布局相關都有哪些屬性?含義是什么?flex 屬性對應哪幾個屬性【描述】

20、flex-grow 和 flex-shrink 代表什么含義【描述】
flex-grow 屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。
flex-shrink 屬性定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。

21、CommonJS 與 ESModule 的區別【描述】

22、Tree-shaking 原理【描述】

23、ESModule 模塊化是怎么解決循環引用的問題的【描述】
參考 https://es6.ruanyifeng.com/#docs/module-loader#%E5%BE%AA%E7%8E%AF%E5%8A%A0%E8%BD%BD

24、你對 react 怎么看待?【描述】

25、你是通過什么手段去學習前端技術的?【描述】

二面

1、最近在學習什么新技術?Vue3.0做了哪些優化【描述】

2、說一個你做過印象最深刻的項目【描述】

3、對于首屏加速,你有哪些方案【描述】

4、路由懶加載有哪些方式【描述】

5、說一下你對模塊化的理解,CommonJS 和 ESModule 有什么區別?【描述】

  • CommonJS 模塊輸出的是一個值的拷貝,ES6 模塊輸出的是值的引用。

  • CommonJS 模塊是運行時加載,ES6 模塊是編譯時輸出接口。

  • CommonJS 模塊的 require() 是同步加載模塊,ES6 模塊的 import 命令是異步加載,有一個獨立的模塊依賴的解析階段。

6、打包結果里面出現重復包的情況,怎么解決【描述】

7、有哪些手段可以加快 webpack 打包速度【描述】

  • 使用高版本的webpack (使用webpack4)

  • 多線程/多實例構建:HappyPack(不維護了) thread-loader

  • 縮小打包作用域

  • 充分利用緩存提升二次構建速度

  • DLLPlugin 提前打包、分包,避免反復編譯浪費時間

8、移動端開發,是怎么適配的?有沒有辦法在打包時將 px 轉換為 rem【描述】

9、描述一下 Vue 中 template 模板編譯的過程【描述】

10、說下 vue-router 的實現原理【描述】

11、有沒有方案,當 history.pushState 改變了瀏覽器地址欄后,監聽到地址改變【描述】
- 利用觀察者模式
- 重寫 history 方法,并添加 window.addHistoryListener 事件機制

12、你覺得怎樣才算是一個高標準的組件庫【描述】

13、組件庫的文檔是怎么開發的?【描述】

  • 手工維護方案:建工程手動引用組件,書寫示例和說明

  • elementUI 方案:示例和說明按照一定規則寫在md文件中,調用md-loader將md文件轉成相應的頁面

  • Storybook 方案:Storybook是UI組件的開發環境。它允許您瀏覽組件庫,查看每個組件的不同狀態,以及交互式開發和測試組件。

14、組件庫怎么進行本地開發調試?【描述】
(1)本地寫demo
(2)本地編譯,拷貝到業務系統,替換 node_module 下的靜態資源進行測試
15、求實現:有個請求,10秒內可以重試3次,如果3次都失敗,就拋出異常【偽代碼】
利用 setTimeout 和 Promise.race 實現
16、說一下你的職業規劃【描述】

最后

樸樸科技致力于研發新零售即時電商領域的標桿系統,樸樸超市定位于一站式移動端30分鐘即時配送購物平臺。公司技術棧主要是 React+TS,兩輪技術面試官挺強的,問的問題覆蓋前端各方面,專業,準備約HR面談薪資的,因為有其他更合適的offer了,被我委婉拒絕了。
往期回顧:

  • 三年經驗前端社招——Shopee

  • 三年經驗前端社招——騰訊微保

  • 三年經驗前端社招——豐巢科技

  • 三年經驗前端社招——眾安保險

  • 三年經驗前端社招——有贊

天生我材必有用,千金散盡還復來


最近組建了一個湖南人的前端交流群,如果你是湖南人可以加我微信?ruochuan12?私信?湖南?拉你進群。


推薦閱讀

1個月,200+人,一起讀了4周源碼
我讀源碼的經歷

老姚淺談:怎么學JavaScript?

我在阿里招前端,該怎么幫你(可進面試群)

13f20cd57e6aa27fefa1cf915412d625.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》10余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助1000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

2cf1b54740d60bf992ac8a761e5fc688.png

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。歡迎分享、收藏、點贊、在看我的公眾號文章~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275404.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275404.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275404.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EL表達式和JSTL標準標簽庫

一、EL表達式 什么是EL表達式 EL(Express Lanuage)表達式可以嵌入在jsp頁面內部減少jsp腳本的編寫EL出現的目的是要替代jsp頁面中腳本的編寫。EL表達式的作用 EL最主要的作用是獲得四大域中的數據// 1. pageContext ${pageScope.key}; // 2. request ${r…

(轉)細說Cookie

原文地址:http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.htmlCookie雖然是個很簡單的東西,但它又是WEB開發中一個很重要的客戶端數據來源,而且它可以實現擴展性很好的會話狀態, 所以我認為每個WEB開發人員都有必要對…

數學在計算機科學上的應用文獻,淺談數學在計算機科學及應用中的作用

論文編號:SXJY040論文字數:5690,頁數:06淺談數學在計算機科學及應用中的作用[摘要]:數學作為伴隨人類歷史發展長期積累的智慧結晶,是學習和運用科學技術的語言,代表著人類智慧的最高成就。本文闡述了數學發展的科學趨勢,并對數學與…

三年經驗前端社招——豐巢科技

大家好,我是若川。最近組織了源碼共讀活動《1個月,200人,一起讀了4周源碼》,已經有超50人提交了筆記,群里已經有超1200人,感興趣的可以點此鏈接掃碼加我微信 ruochuan12 參與。本文經作者lxcan 授權轉載&am…

數字集成電路物理設計_數字世界的物理詞匯

數字集成電路物理設計Nineteen Eighty-Four is my favourite novel; I must have read it half a dozen times. There are many reasons why I believe it to be a work of literary genius, but recently I’ve been thinking about one specific aspect of it that has a ver…

yum安裝Docker失敗No package docker available

2019獨角獸企業重金招聘Python工程師標準>>> 原因:yum沒有找到docker包,更新epel第三方軟件庫。 yum install epel-release再yum安裝docker: yum install -y docker轉載于:https://my.oschina.net/yuantangxi/blog/3033800

用html編寫ASCII表,HTML ASCII

HTML ASCII 參考手冊ASCII 是互聯網上計算機之間使用的第一個字符集(編碼標準)。ISO-8859-1(在 HTML 4.01 中是默認的)和 UTF-8(在 HTML5 中是默認的)都是基于 ASCII 建立的。ASCII 字符集ASCII 全稱 "American Standard Code for Information Interchange"&#xff…

一文徹底搞懂前端監控 等推薦

大家好,我是若川。話不多說,這一次花了幾個小時精心為大家挑選了20余篇好文,供大家閱讀學習。本文閱讀技巧,先粗看標題,感興趣可以都關注一波,一起共同進步。前端點線面前端點線面 百度前端研發工程師&…

黑客宣言_情感設計宣言

黑客宣言重點 (Top highlight)I have a feeling that this article is going to be slightly different from the rest of the articles I’ve recently seen or read. Everybody seems to be fighting on topics such as “UX designer or Product Designer”? “UX/UI is ok…

[轉]VS2010中的單元測試

本文轉自:http://zxianf.blog.163.com/blog/static/30120701201101011757499/ 在VS2010中,單元測試的功能很強大,使得建立單元測試和編寫單元測試代碼,以及管理和運行單元測試都變得簡單起來,通過私有訪問器可以對私有方法也能進行…

IDEA、 JetBrains、webstorm、 pycharm 破解教程

[TOC] 第一步 下載IDEA 2018年2月前版本 ) !!!注意 一定要2018年2月前的版本 最新版本不確定能否使用 第二步 打開破解包網址 下圖所示 點擊下載 點擊下載第三步 把下載好的jar包放到IDEA安裝目錄的/bin里面 第四步 打開上圖的圈中的文件 在兩…

微型計算機儲存信息的基本單位是什么,16.磁盤存儲器存、取信息的最基本單位是...

【填空題】學習完成4.6的教學視頻以后,完成齒輪建模并測量其質量為( )kg。【判斷題】在單鏈表中設置頭結點的作用是為了操作上的方便【判斷題】財務杠桿會增加ROE和EPS的波動程度【多選題】形式美的構成因素一般劃分為兩大部分:一部分是構成形式美的();一部分是構成形式美的(),…

三年經驗前端社招——Shopee

大家好,我是若川。最近組織了源碼共讀活動《1個月,200人,一起讀了4周源碼》,已經有超50人提交了筆記,群里已經有超1200人,感興趣的可以點此鏈接掃碼加我微信 ruochuan12本文經作者lxcan 授權轉載&#xff0…

簡易撥號器iCall

iCall是由哥開發的一款android平臺的電話撥號小工具&#xff0c;簡單不能再簡單的Android手機撥號程序。 代碼不過幾行&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…

蘋果手機隱私分析數據是什么_蘋果公司以用戶為中心的隱私保護方法能教給我們什么?

蘋果手機隱私分析數據是什么重點 (Top highlight)Moving beyond the rollercoaster of excitement and controversy Apple has been in for the last week, there was one thing in the WWDC keynote that stood out for me. One thing I really appreciated seeing. There is …

中外計算機百科知識,計算機百科知識.doc

計算機百科知識計算機百科知識1.微機熱啟動時,需要按下的組合鍵是( D )A、CtrlDel B、AltDel C、CtrlAlt D、CtrlAltDel2.顯示器和打印機都是&#xff1a;( D )A、顯示設備B、輸入設備C、存儲設備D、輸出設備3.HOME鍵的作用是( B ) A、將光標移到當前行的右端 B、將光標移到當前…

為什么 Vue2 this 能夠直接獲取到 data 和 methods ? 源碼揭秘!

1. 前言大家好&#xff0c;我是若川。最近組織了源碼共讀活動《1個月&#xff0c;200人&#xff0c;一起讀了4周源碼》&#xff0c;已經有超50人提交了筆記&#xff0c;群里已經有超1200人&#xff0c;感興趣的可以點此鏈接掃碼加我微信 ruochuan12之前寫的《學習源碼整體架構系…

java包的命名規則技巧

java包的概念和.net名稱空間非常類似。.net的名稱空間通常以程序的項目名稱和功能模塊或層次結構命名。 java包也是如此。唯一不同的是java程序最外層包的名稱通常以com開始。起初我不知道為什么這么命名。后來發現&#xff0c;原來java包命名其實就是網站域名去掉www的倒寫然后…

鈕扣電池電壓電量_紐扣廠

鈕扣電池電壓電量S. is a designer and works at the button factory. Despite its scary look, S. goes there every day, and he loves his routine, never missing a day!S.是一位設計師&#xff0c;在按鈕工廠工作。 盡管看上去很恐怖&#xff0c;S。每天都去那里&#xff…

18秋學期《計算機網絡》在線作業,18秋北交《計算機應用基礎及計算機網絡與應用》在線作業一-2輔導資料.docx...

18秋北交《計算機應用基礎及計算機網絡與應用》在線作業一-2輔導資料.docx18 秋北交計算機應用基礎及計算機網絡與應用在線作業一-21、B 2、D 3、B 4、A 5、B 一、單選題共 10 題&#xff0c;40 分1、決定局域網特性的主要技術 要素包括( )、傳輸介質與介 質訪問控制方法。A 所…