摘要:知識點前端面試有很多知識點,因為前端本就涉及到多個方面。因為對于這樣的前端框架我還不是很熟練,在這方面不能提供很好的學習思路。
關于這幾次的面試
前幾次的面試,讓我對于一個前端工程師需要掌握的知識體系有了一個全新的認識。之前自己在學習方面一直屬于野路子,沒有一個很規范的學習路徑,往往都是想到什么就去學什么。而且基本都是處于會用的那種水平。并沒有真正的做到知其然且知其所以然。面試基本都沒有通過,我自己也明白了自己在那些方面需要深入學習。
知識點前端面試有很多知識點,因為前端本就涉及到多個方面。當我完全抱著背的想法去應付面試官的問題時,我發現我很懼怕面試官深入的去提問。因為心里知道,我是不知道的,我只是背的。讓我想到了高中的考試,也很怕考那種證明題,因為對概念和原理,掌握的不透徹。
看了這么多的優秀的文章,還有一些自己的反省思考。我覺得對于大部分的初級前端來說,要改變自己對于這些知識點的態度,才能更好的去理解這些知識點的原理,面對面試官的話,就算你不懂,你也不會虛,因為你會有自己對于這個關鍵詞的理解。
就像大學的課程一樣,在大一大二思維不成熟的時候,面對那些課程決定它們對于我敲代碼并沒有什么作用,有那個時間我還不如多背幾個API。到后面,編程的時候會考慮風格,性能,交互等方面的時候,我才發現之前學習的課程都是有用的,只是當時編程能力沒有跟上,并沒有動力驅動我們去深入理解并使用。
所以這里我也覺得,你學的都是有用的,但是有些并不是當時就會發揮作用的。
關于前端面試會提到的知識點,在我稍微看了一下《webkit技術內幕》之后,我覺得按照瀏覽器內核中的不同功能去理解會有更好的效果。
網絡
資源管理
網頁瀏覽
Javascript 運行
根據上面四個大概的功能,就可以引導出我們需要掌握的知識了。
網絡網絡部分涉及到的就是HTTP請求,因為我們訪問網頁的過程就是通過特定的URL來獲得相應的資源(數據或文件)。
那么關于HTTP就有
協議版本
請求頭中包含那些屬性,有哪些意義
請求方式之間的不同
響應狀態碼的含義
狀態的管理 cookie的設置和傳遞。
HTTP協議是TCP協議的一種實現,是應用層的協議,TCP協議則是傳輸層的協議。還可以追溯到IP協議,四層網絡模型。
資源管理通過之前的網絡請求,我們可以獲取相應的文件,那么這些文件存放在本地磁盤中。而像文件上傳,cookie的存放,以及瀏覽器提供的數據庫,都是存放在本地的,瀏覽器提供了一系列的API去操作這些文件。
cookie的存放位置,刪除機制。
緩存的更新機制
文件操作的API
web數據存放的API( cookie,localstorage,sessionstroage,indexDB...)
網頁的瀏覽當我們獲取到了一個html文件,我們開始解析,首先根據文件的聲明去解析這個網頁,構建DOM樹,這是css也在下載,因為css層疊樣式表,下載成功之后根據多方來源開始計算最終的css效果,然后與DOM樹相結合,形成渲染樹再開始繪制再瀏覽器界面。解析網頁的時候,遇到script的時候會開始執行相應的代碼,阻塞DOM樹的生成。
那么這個過程就涉及到了:
css的計算
dom樹的生成
sript的阻塞加載
頁面的繪制
重繪與重排
javascript運行因為javascript是單線程的解釋型語言,從上到下解釋運行。但是js中又有異步的概念,這就又引出了事件循環這個概念:
事件循環 Event Loop
宏任務(macro-task) 微任務(micro-tack)
JS運行機制
線程 和 進程
js作用域,執行環境
性能通過瀏覽器的這幾個模塊,我們了解了一些知識點,但是還有其他的,比如性能。
對于性能的優化,也可以從這幾個方面去理解。性能在前端減少一個頁面加載的時間。
通過緩存,減少HTTP的文件傳輸。
通過壓縮資源,減少傳輸時間
通過優秀的CSS 以及 頁面結構設計 減少 瀏覽器渲染時間。
SE0對于SEO的話,我們主要是為了在搜索的時候讓自己的網站排名靠前。那么我們可以理解一下網絡爬蟲,然后對于這方面的優化就會有一個大概的理解。
網頁爬蟲,通過一個入口,訪問符合規則的很多URL,來獲得頁面,通過解析頁面標簽的結構,來存放一些關鍵信息。
比如網頁head中的title,meta的describe,keywords。還有一些內容,但是因為爬蟲并不是瀏覽器,所以一般不能在遇到script、link這些需要額外發起網絡請求的資源并解析,所以對于大部分只是分析靜態的頁面。
那么,我們就可以知道:
規范編寫html結構,便于爬蟲解析
關鍵詞,title,內容等信息要完善
減少使用js輸出內容
訪問速度要快
總結對于整個基礎前端知識,我先分析到這里。因為對于vue react這樣的前端框架我還不是很熟練,在這方面不能提供很好的學習思路。
希望大家能找到適合自己的學習方式并構建屬于自己的知識體系。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93834.html
摘要:半路出家的前端程序員應該不在少數,我也是其中之一。年,馮馮同事兼師兄看我寫太費勁,跟我說對面樓在找,問我要不要學,說出來可能有點丟人,但是在那之前,我真得不知道什么是,什么是。 半路出家的前端程序員應該不在少數,我也是其中之一。 為何會走向前端 非計算機專業的我,畢業之后,就職于一家電力行業公司,做過設備調試、部門助理、測試,也寫過一段時間的QT,那三年的時間,最難過的不是工作忙不忙,...
摘要:春招前端實習面試記錄從就開始漸漸的進行復習,月末開始面試,到現在四月中旬基本宣告結束。上海愛樂奇一面盒模型除之外的面向對象語言繼承因為是視頻面試,只記得這么多,只感覺考察的面很廣,前端后端移動端都問了,某方面也有深度。 春招前端實習面試記錄(2019.3 ~ 2019.5) 從2019.1就開始漸漸的進行復習,2月末開始面試,到現在四月中旬基本宣告結束。在3月和4月經歷了無數次失敗,沮...
摘要:還記得剛開始學習的時候,內存管理前端掘金作為一門高級語言,并不像低級語言那樣擁有對內存的完全掌控。第三方庫的行代碼內實現一個前端掘金前言本文會教你如何在行代碼內,不依賴任何第三方的庫,用純實現一個。 (譯) 如何使用 JavaScript 構建響應式引擎 —— Part 1:可觀察的對象 - 掘金原文地址:How to build a reactive engine in JavaSc...
摘要:還記得剛開始學習的時候,內存管理前端掘金作為一門高級語言,并不像低級語言那樣擁有對內存的完全掌控。第三方庫的行代碼內實現一個前端掘金前言本文會教你如何在行代碼內,不依賴任何第三方的庫,用純實現一個。 (譯) 如何使用 JavaScript 構建響應式引擎 —— Part 1:可觀察的對象 - 掘金原文地址:How to build a reactive engine in JavaSc...
摘要:之前張鑫旭博客寫的效果講解得不錯啊,既然是大神,應該能搜出點什么,結果一搜,還真有。參考感謝張鑫旭這篇文章好吧,變換,不過如此還有一篇寫得不錯的,幫助理解和屬性最后引用張鑫旭的一句話純粹從網上些效果代碼,那永遠就是的命咯 起因 昨晚在做慕課網的十天精通CSS3課程,其中的綜合練習是要做一個3D導航翻轉的效果。非常高大上。 以往這些效果我都很不屑,覺得網上一大堆這些特效的代碼,復制粘貼就...
閱讀 1915·2021-11-24 09:39
閱讀 2142·2021-09-22 15:50
閱讀 2018·2021-09-22 14:57
閱讀 707·2021-07-28 00:13
閱讀 1072·2019-08-30 15:54
閱讀 2365·2019-08-30 15:52
閱讀 2690·2019-08-30 13:07
閱讀 3793·2019-08-30 11:27