⑴ 前端開發面試回答,你怎麼回答
我面試過很多 前端程序員,非常了解面試者和面試官的心理,我可以很負責的告訴你:
就算面試你的人說你只能拿8K,但是你完全可以通過各種方法去拿到10K以上的薪資!
面試的時候面試官都是什麼樣的心理?
大多數公司的領導都會通過給你構造一個宏偉的藍圖以及對你進行技術打擊,來讓你降低標准,因為任何一家公司都希望花最少的錢請到最NB的技術人才,其實雙方就是一個周旋的過程,看誰的情商更高一些,但往往都是面試者被面試官拿下的情況比較多。
我給面試經驗不多的 前端程序員4個建議:
1、說工資時千萬不要說自己的理想工資,在這個之上虛高一點!
假設你預期的薪資是10k,你很實在的說要10k,那麼按照常理來說,你的工資標準是一定會被往下進行打壓的。
你可以先說自己以前的工作的薪資在11K左右,現在換份工作想要13K的薪資,這個時候面試官就會想,這個人以前的工資是11k,現在給他10k他肯定是不會來的,但他還是會跟你進行壓價,但是壓價肯定都是在10k以上的,所以你和面試官談判的時候,如果他認可你,那麼你的薪資應該就會在10k-13k之間,無論最終是10k還是11k或者12k,我們的目標都已經達到了。你可以進行一番思考,最終同意對方的開價。
但是你不要跟輕易的答應,一定要拿捏一下,讓對方覺得你也在考慮,最終你選擇了他們公司,要表達出對他們公司的願景,自己中意的是職業發展,喜歡的是公司氛圍等等因素,這樣對方才會認為你是看重公司的發展,而不是因為工資。關於這點我只能說,華夏民族的人和人交流的關系是世界最微妙的,這些套路大家心知肚明,但是你用和不用還真的是兩種效果。
2、設置一個自己的心理價位
如果對方說的薪資低於這個心理價位,我們一定要果斷拒絕,保持我們的原則性,不要因為對方說了而讓你降低了自己的心理價位,這樣也會讓面試官覺得你非常的有原則,非常自信,人們都尊重這樣的人,如果你一味的做舔狗,下場會非常悲慘。
根據我十年多的IT從業經驗來看,即使是做同樣的工作,也會存在著很多工資高低差距較多的情況,所以不要掉在一棵樹上,現在社會工作機會這么多,只要有實實在在的技術,工作是很容易找的,一定要多去嘗試。
3、凸顯自己的價值,讓對方覺得你是個人才
如果之前兩點沒有達到預期成效,但你又非常看好這家公司,就該盡力爭取了;
用自己之前做成的事情說事情,最好是用數據給面試官說明,表達清楚自己為什麼要這樣的薪資,讓對方感覺到你值這么多錢,如果對方公司現在比較缺人,而且你要的薪資沒有特別離譜,還有有希望拿下的。
4、公司一般都有獎金福利可以彌補工資的欠缺
大多數人都想不到那麼遠,都是盯著眼前的薪資,但其實很多公司都有項目提成、獎金,這也是錢啊,有一些不錯的公司都是14薪往上,所以在跟公司談的時候,一定要去問他們是否有獎金、年終獎之類的福利。
除了被壓榨薪資的問題,還有以下幾點是必須要注意的!
1、項目作品
面試的時候,除了基礎的知識技術外,一個項目經驗是非常重要的,面試官會著重去問你的項目過程,所以准備好一份好的項目實戰,不只是證明你對這次面試的重視,更是證明你有能力勝任這份工作的利器。
2、去背那些常問的面試題
面試題對於以下幾個問題都會問:
·自我介紹(建議30s-60s)
·了解我們公司的基本情況嗎?
·你上家公司離職的原因是什麼?
·你自己的職業規劃是什麼?
·自我評價一下自己的優缺點?
以上問題都是大部分公司都會問到的,其實面試官只是想多了解你一些,而這些回答在網上有非常標準的答案,如果你覺得自己回答不好,你可以去網上找一些標準的答案背一下,還是非常有必要的,做到萬無一失。
3、假設面試官沒有跟你說薪資的問題,那麼我們也不要主動去提及,這樣會顯得你非常的著急,最好是先拿到offer之後再去談薪資,這樣對於我們來說是非常有利的,經驗之談。
4、面試的時候不要對方問一句你就答一句,你一定要明白面試的本質是什麼,在短時間內展示你的才華,方方面面的才能,給對方留下一個好的印象。
5、面試的過程中,是你展現的時候,所以80%的時間都應該你來主導,你來展示自己的才能,一定要非常著重的表現自己。
6、在回答面試官時,換位思考幾秒鍾:
·他為什麼要問這個問題?
·他想知道什麼答案?
·他想通過這個答案判斷出什麼?
所謂知己知彼才能百戰不殆,你一定要換位思考對方問的問題,想要知道什麼,從你的回答中他是否可以得到他想要的答案,所以面試是一門非常深的學問,人與人之間心理的博弈。
總結:
以上全部都是面試技巧方面,這屬於細活,而真正掌握技術才是根本,如果你沒有掌握良好的技術,技巧也幫助不了你找到一份工作,當你的技術達標,在加上好的面試技巧,就是如虎添翼,工作隨便你選擇。
常在這里回答問題,熱愛技術,喜歡幫別人解答行業技術問題和行業知識。
如果大家對於學習前端有任何不懂的可以隨時來問我,我給你提供一個非常不錯的前端交流學習qun:前面是二九六,中間是二一二,後面是五六二。有問題就在裡面問我,這樣你可以少走很多彎路,做起來有效率,記得多跟有經驗的人交流,別閉門造車。如果沒有比較好的教程,也可以管我要。
⑵ 前端面試一般會問什麼問題
宏觀
個人態度
職業素養
技術水平
個人品行
薪資水平
- 基礎
js,css基礎(必須牢靠)
基本的演算法(underscore裡面的常用方法實現)
BOM,DOM下的一些特性
css3
結合簡歷提問
- 高階
性能優化,緩存
工程管理,持續集成,代碼組織
安全和自動化測試
後端語言的熟悉nodejs,python,php等等
移動端開發的重要特性
- 其他
引導式提問,判斷面試者解決問題能力
對公司產品或競品是否熟悉
開源或問答社區中的參與度和了解程度
⑶ 前端面試題目難嗎 如何輕松面對前端面試
從以下五個方面做,可以輕松面對前端面試:
一、基本知識
DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
盒模型——外邊距、內邊距和邊框之間的關系,IE8以下版本的瀏覽器中的盒模型有什麼不同。
塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。
浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。
JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。
二、少量提問
現在有一個正顯示著Yahoo!股票價格的頁面。頁面上有一個按鈕,你可以單擊它來刷新價格,但不會重新載入頁面。請你描述一下實現這個功能的過程,假設伺服器會負責准備好正確的股票價格數據。
這個問題牽扯到一組我想要考察的基本知識點:DOM結構、DOM操作、事件處理、XHR和JSON。如果我要求你對換一種處理股票價格的方式,或者 讓你在頁面中顯示其他信息,就可以把更多的知識點包括進來。對於經驗比較豐富應聘者,我也可以自如地擴展要考察的知識范圍,最簡單像JOSN與XML的區別、安全問題、容量問題等等。
我還希望應聘者給出的任何解決方案中都不要使用庫。我想看到最原生態的代碼,你就當頁面中沒有包含任何庫。你說你對哪個庫了解多少多少,但我不能把關於庫的知識作為評判能力的因素,因為庫是會隨時間變化的。
三、解決問題
做為一名前端工程師,最值得高興的事莫過於解決同一個問題會有很多種不同的方法,而你要做的就是找出最合適的方法來。我在提問的時候,經常會在應聘者解釋完一種方法後問他們還有沒有第二種方法。此時我會跟他們說,假設你的這個方法由於種種原因被否決了,那麼你還能不能給出另一種方法。這樣做可以達到 兩個目的。
首先,可以測試出他們是否在毫無意義地復述書本中的東西。不能不承認,某些人確實有過目不忘的天賦,聽他們在那裡滔滔不絕地講,你會覺得他們什麼都明白。可是,只要一跟這些人談到怎麼查找方案無效的原因,以及能否拿出一個新方案來,他們往往就傻眼了。這時候,如果我聽到「我不明白這個方案為什麼不夠 好」之類的反問,心裡立刻就明白我的問題已經超出了他們的能力范圍,而他們只是想拿自己死記硬背的結論來矇混過關。
其次,可以測試出他們已經掌握的(還是那句話,「想都不用想」)瀏覽器技術知識。如果他們對瀏覽器平台的核心知識有較好的理解,想出解決同一問題的不同方案根本沒有那麼難。
注意:所有問題都與瀏覽器技術相關。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術問題的能力。在我看來,這無異於讓素描大師畫肖像,沒有意義,也得不到任何有價值的信息。
四、有激情
要成為一名優秀的前端工程師,最重要的莫過於對自己做的事要有激情。我們技能都不是從學校中或者從研討會上學來的,因此前端工程師必須具備自學能力。瀏覽器技術的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時俱進。我雖然不能強迫誰必須多看博客、不斷學習,但想應聘前端工程師的人恐怕還是必須這么做的。
你怎麼知道誰對這種工作有沒有激情?實際上非常簡單。我只問一個簡單的問題:「目前你對什麼Web技術最感興趣?」這個問題永遠不會過期,而且也幾乎不可能出錯……除非你答不上來。就眼下來說,我希望你對這個問題給出的技術中包括WebSocket、HTML、WebGL、客戶端資料庫,等等。只有 對Web開發充滿激情的人,才會堅持不懈地學習新知識、掌握新技能;
五、最後一點
計算機科學或者Web設計方面的知識當然也有用,但那都是基本知識之外的東西。只要基本知識在那兒了,一切就都有了基礎,想擴充知識面也不難。可是,如果等到正式上班以後,還得從頭學習基本技能,那種難度是不可同日而語的。
⑷ 前端開發者面試必備的3個點
最近是招聘旺季,我也在負責我們公司的招聘,但是面試過程大部分前端面試者給我的感覺思維比較窄,以及陳述問題時候比較亂,整體給人感覺不是理想。下面是我作為一個面試官從三個維度給面試者建議和思考吧。
一.自我介紹
1.自我介紹,可以簡單介紹你畢業什麼學校,什麼專業
2.出來負責的項目,每個項目自己充當的角色
3.每個項目使用前端技術+後端技術
簡單大概的說出來就可以了,不要詳細到你哪年進入公司,哪年離開公司,負責項目做什麼的,說一大通。這個對我們面試官來說,想讓你自我簡單介紹,其實考察點有兩方面:
A.面試者的表達能力和概括能力
B.面試者目前掌握什麼技術,做過什麼項目,在項目中的角色來初步判定這個人的能力
二.問題回答
在本人問他們做過項目中,自己感覺挑戰最大的項目是什麼,你在這個項目中做了什麼,遇到什麼問題,怎麼解決這些問題的
1.有些面試者給我的答案直接說沒有比較大的挑戰;這個讓我感覺這個人可能沒有聽懂我的問題,工作那麼多年,難道沒有一個項目可以拿來說的,那我拿什麼來判定你的能力呢?難道憑你幾句話,說我很牛逼的,沒有什麼困難難得到我?我就信任你了,伯樂尋找千里馬都要知道幾個千里馬的特徵吧。所以沒有你也要在面試前准備好自己做過的項目和總結,在項目中自己做了什麼,充當什麼覺得。
2.有些面試者回答這個問題,在介紹項目的時候,很大概的說,還有就是一句話前端都是我做的,這些都是我設計的;這個讓我感覺這個人也沒有聽懂我的意思,我在問你這個問題的時候,肯定是希望你詳細介紹你的項目,這個項目使用者是誰,讓我知道誰在使用這個項目;你負責哪些模塊,哪些組件,那些模塊實現什麼業務邏輯,用到什麼技術,這個能讓我更加知道你項目的業務,才能從你描述中我知道這類的業務會遇到什麼問題,以及你使用的技術是否合理,能讓我更加判定你的能力,才能更好的提出問題,才能更好的面試下去。
3.回答問題的時候不要想到什麼就答什麼,要有陳述性,比如1,xxx;2.yyyyy;3.wwww的陳述,這樣能讓我知道你總結過,表達和陳述上比較清晰,思維好;想到什麼答什麼的,讓我感覺思維可能比較亂,有可能我聽懂了你的表述,但是讓我感覺表達能力有些欠缺。
4.以及在你項目中遇到的問題,你要陳述問題,你是怎麼思考的,而不是針對問題就直接說網路,google就解決了。我們大家都知道,遇到問題都會去網路,google.但在這問題的前提條件是問題是,架構上的問題,還是代碼的bug問題,還是方案上的問題。你至少陳述清楚,是不是還有其他方案,在其他方案中,你為什麼選擇這個方案。這個能讓知道你在面對問題的時候,你是否思考了其他的問題,想得越多,知道能體現出的思維比較發散,遇到問題可以有其他方式解決,而不是死磕一棵樹上。
三.前端技能
前端技能在問到很多面試者的時候感覺自己都懂前端,其實他們只是懂使用js敲代碼而已,很多前端知識,以及前端原理都不懂,只會使用的話,那麼永遠只會走來人家的後面。就那一個比喻來說吧,如果你只是一個會開車的司機,不會修車或者造車,那麼如果哪天車出了毛病,你都不知道,到時候才去學習車的構造原理。或者你會說我直接給維修廠不就可以了,如果維修廠關門了呢怎麼辦。所以我們前端開發人員還是要腳踏實地,不要說我會使用vuejs,react前端框架,問你一個mvvm模式是什麼,你都說不知道,怎麼實現mvvm框架,在不使用別人開發mvvm框架,自己可以開發一個簡單的mvvm框架?前端的開發者問問自己?以我個人的要求,前端開發者必須掌握
1.HTTP協議
2.前端安全
3.常用前端框架的三駕馬車react,vuejs,angularjs目前比較流行的以及jquery(工具庫)的使用
4.前端基礎知識,跨域,es6新語法
5.Nodejs的開發,express,koa等常用框架
6.了解一些資料庫知識
7.能理解封裝業務組件和公用組件
8.前端性能優化
9.前後端分離
如果可以,能掌握更加深層次的知識點:
1.前端架構,設計模式
2.前端工程化開發,測試,打包,發布
3.自己實現前端架構代碼以及開發工具
這些是我近期的一些總結,也希望能給最近正在找工作,最近准備開始轉行前端的小夥伴們一個方向。
在面試前做好准備,找好自己的定位,成功收獲高薪!
⑸ 如何面試前端工程師
隨著時代的發展,很多新興的就業職位隨之產生。前端工程師將就是隨著互聯網的快速發展而產生的。其實在很多人的觀念里,前端工程師也就是一個切頁面的而已,他們也就是會html、css、javascript這些沒有任何技術含量的網頁製作而已。然而隨著技術飛速發展,人們對這些技術的要求也是越來越高,如果只憑著一個人來把所有的事情都解決是很困難的,所以這個時候前端工程師就開始發揮著他們很大的作用了。
那我們應該如何來面試前端工程師呢?
談吐要大方得體
在我們在面對面試官時我們千萬不要緊張。在進行自我介紹時我們要努力做到自信大方、吐字清晰。我們在自我介紹時要用簡明扼要的話語來介紹自己,突出自己的優點表明自己的求職意向。你要通過寥寥數語把自己的優勢都向面試官介紹清楚。記住不必要的話語要少說。
好了關於如何面試前端工程師這個話題我就聊到這了。希望我的回答能對你有所幫助。
⑹ 前端面試要點
想要通過前端面試順利進入一線大廠成就高薪前端夢。那麼首先,我們得知道前端面試中,社招和校招究竟有啥區別?
對於前端開發來說,如果說社招更看重對前端技術體系的深入理解,以及解決問題的能力話,那校招更看重的其實是基本功和學習能力(或者說是潛力)。
但其實,無論是社招還是校招,面試的時候都會問到一些曾經操作過的項目,尤其是大廠,或者熱門高薪部門,面試官除必問的技術經驗外,也會對技術深度進行一個基礎的考核,那在這種情況下如何hold住大廠面試呢?
前端面試三要素:簡歷、個人介紹、技術能力。下面,就來分別聊一聊。
1、簡歷篩選關:
HR一般會去看簡歷中所提的技術棧是否匹配,怎麼看呢?我們可以抓住簡歷中的技術名詞,一般來說如果一點技術名詞都沒有提到,那麼大概有以下幾種可能:很水、很牛但概率很小、不會寫簡歷。所以,一部分人可能會因為簡歷的問題沒有了面試機會,這點是需要非常注意的。
2、個人介紹關:
通過了簡歷篩選階段,就真正到了面試環節。這時候一定要准備好一段最多3分鍾的個人介紹。請注意,最多3分鍾!言簡意賅的說明自己的工作時間,擅長技術棧和自己的工作預期。
3、項目經驗表達:
對前端開發學習者而言,JS並不陌生,但大廠的JS面試題卻總是顯得很「陌生」,怎麼樣能夠真正做到深入理解與高級應用?這不僅是面試過程中對前端求職者的要求,也是大多數前端開發者的痛點。
大廠面試中,面試官除了關注你的項目經驗外,還往往喜歡和面試者深入探討前端某些技術領域成體系的前端知識。比如:模塊化、非同步解決方案、網路、框架及原理、線程等,但在與面試官的正面battle中,求職者總會敗下陣來。
所以,建議大家在Web前端面試前一定要注重這三個方面的內容。注重了這些想找找到一份適合的Web前端開發工作並不是難事。
⑺ 前端面試自我介紹草稿
前端面試自我介紹草稿3篇
篇一:自我介紹草稿
各位下午好!下面我將通過簡單的面試自我介紹讓您來了解我。我是來自xx大學市場營銷專業的xxx。我喜歡讀書,因為它能豐富我的知識;我喜歡跑步,因為它可以磨礪我的意志,我是一個活潑開朗、熱情、執著、有堅強意志的人。
在讀書期間,我已經做過暑期工,是向用餐的客人推銷啤酒。那時我則我認為,營銷是一種服務。既然是一種服務,就應該做到讓大家滿意,用熱情和真心去做。激情,工作中不可或缺的要素,是推動我們在工作中不斷創新,全身心投入工作的動力。激情加上挑戰自我的意識,我相信我能勝任這份工作。我非常欣賞貴司企業文化:「誠信是我們合作的基礎,雙贏是我們共同的目標!」我願與xx文化一起發展,一起創造輝煌的明天!
篇二:面試一分鍾自我介紹範文
應屆畢業生通用版1
很榮幸能有機會向各位進行自我介紹。我叫xxx,今年xxx歲,我學的是xxx專業。這次來應聘我覺得自己有能力勝任這 份工作,並且有著濃厚的興趣,XXX的基本工作已經熟練,如果能給我個機會,我一定會在工作中好好地表現的,一定不會讓你們失望。 我很樂意回答各位考官所提出來的任何問題,謝謝!
應屆畢業生通用版2
我是一名普通的本科應屆畢業生,來自XXX,我一直追求著 自己的成就。我在校擔任學生幹部期間獲得校級優秀學生幹部的稱號,有比較好的組織協調能力,在暑假期間多次勤工儉學,可以吃苦耐勞,參加XX省電子設計大 賽獲省二等獎,有很強的動手能力和學習能力,我可以能夠在不同文化和工作人員的背景下出色地 工作。教師
我是一 名本科畢業生,畢業剛半年,學的是英語專業,大學畢業後一直從事翻譯員一職。一直以來都很想從事教育工作,但因為一些特殊的原因一直未去考取教師資格證, 這段時間才開始准備考取此證書。不過,我認為,一個人的能力並非完全是由一紙證書來權衡的;同時,暫時還未取得教師資格證並不能說明以後不會有。我忠誠地 希望貴單位能夠給我一次任職的機會,讓我能夠在教育行業中干出一番事業!
機械專業
各位考官大家早上好。我叫XXX, 來自XX大學。本人是機械專業本科學歷,具有較強的機械專業理論知識和實際動手力。三年的大學生活為我的人生添加了非常多的色彩,也讓我了解很多在社會上 了解不到的知識。我很熱愛自己的專業,也了解要適應當今社會激烈的競爭就要全面發展自己,挖掘自身的潛能,所以我積極參加各項課外活動,閱讀一些有用的書 籍,提高自我修養,注重身心的共同發展。我將以飽滿的熱情和十足的信心迎接社會和工作帶給我的挑戰。
臨床醫學專業
我 是嘉興學院臨床醫學院臨床專業05級本科學生,將於2009年7月畢業。在即將叩響社會這扇大門時,我懷著無比的真誠和高度責任感把我的人生向您靠攏。五 年的大學生活使我樹立了正確的人生觀,價值觀,形成了熱情、上進、不屈不撓的性格和誠實、守信、有責任心、有愛心的人生信條。五年,厚積薄發的五年,給我 的"輕叩柴扉"留下一個自信而又響亮的聲音。
以上是我的求職面試自我介紹。在即將走向社會之時,誠望貴單位全面考察我的情況,若能蒙您 垂青,我將深感榮幸,並在日後工作中,不懈拼搏之勁,不失進取之心,克盡己能,為貴單位事業奉獻自己的一份力量。相信在您們的支持下,我會和您所領導的單 位一樣,直掛雲帆濟滄海,乘風破浪會有時!
市場營銷
我 叫XXX,來自XXX,年齡XX歲。於今年6月份畢業於桂林電子科技大學新聞出版學院,專業為市場營銷,我以前做過保險銷售和貨代銷售,所以對銷售有一定 的經驗。此外,我在新華書店門市工作過,對服務好顧客有一定的心得。我的英語基礎良好,已獲得了大學英語四級證書,六級也有400分,也在外貿公司實習 過。我奉行態度決定一切的原則,我相信只要踏踏實實的做好每一個細節,服務好客戶,通過自己的不懈努力,一定會在擁有出色的工作業績。請考官考慮給我提供 一個試崗的機會,我有信心做好該崗位工作,願服從貴公司的安排,隨時可以就任崗位,並在貴公司做長期發展的准備,因為是貴公司給了我這樣一個機會。
廣告設計專業
我是XX大學廣告設計專業的應屆畢業生XXX.大學期間曾經 在暑假期間在XX廣告公司實習,能夠很好得配合其他員工的工作,認真踏實,對工作是絕對的認真負責;對於不懂不熟之事肯付出努力不斷學習與練習,不怕吃 苦;期間還獨立完成一次項目,受到公司同事和領導的好評。對於自己有較清醒的認識,不會誇大其詞,自吹自擂,能恪守以大局為重的原則,願意服從集體利益的 需要!請領導給予一次機會,我會用實力來證明自己!謝謝!>自我介紹
銀行
我叫XX,來自廣西南寧,2006年畢業於廣西銀行學 校金融專業。畢業後在工商銀行南寧支行工作1年,後又在南寧市商業銀行工作過一年的時間.人往高處走,水往低處流.前兩份工作因沒有太大的發展潛力,故我 辭去工作,以謀求更好,更有發展前途的工作。之前2年的工作使我有了豐富的銀行臨櫃能力。我認為我可以很好的勝認貴行的大堂經理一職.謝謝!
篇三:面試自我介紹(3分鍾)
您好:
非常榮幸能參加這次面試,我叫XX,來自xx(戶籍),是大學專業本科的應屆畢業生,希望通過這次面試能尋到我夢寐以求的職位。
在校期間我刻苦學習,不負眾望分別獲得兩次二等獎學金,和一次的三等獎學金,用實際努力報答父母和師長的養育之恩。
除了學習之外,我還積極參加各種社會實踐活動。我曾擔任班級的宣傳委員,組織了幾次班級和學院的公益活動:如青年志願者助殘活動,向孤兒院兒童獻愛心活動等。組織這些活動以及和活動中和成員的相處讓我學到了很多東西,對培養自己的能力和人際關系的處理有很大的`好處,為我更快的走向社會提供了良好的平台。
此外,計算機和籃球是我業余最大的愛好,我計算機過了國家2級,除熟悉日常電腦操作和維護外,還自學了網站設計等,並自己設計了個人主頁。我是班級的籃球隊主力,我覺的籃球不僅可以強身健體還可以培養一個人的團隊精神。
回顧自己大學四年的學習生活,我掌握了專業知識,培養了自己各方面的能力,這些對今後的工作都將產生重要的幫助。除此之外,也應該看到我的一些缺點,如有時候做事情比較急於求成,在工作中實際經驗不足等等。但「金無足赤,人無完人」每個人都不可避免的存在他的缺點,有缺點並不可怕,關鍵的是如何看待自己的缺點,只有正視它的存在,通過不斷的努力學習才能改正自己的缺點。今後我將更嚴格要求自己,努力工作,刻苦學習,發揚優點,改正缺點,開拓前進。
選擇這個職位一方面和我的專業對口,另一方面它有很強的挑戰性,我想依靠自身的努力實現自我的人生價值,為公司盡微薄之力,再次感謝給我這次機會,我感到很榮幸。以上的這則面試自我介紹,不僅講出了優點,也標注了自己的缺點,並重點強調了克服的方法,這是面試自我介紹時需要注意的一點,考官在了解你的同時,更了義看到你的未來工作的態度,以及一種積極樂觀的心態,所以求職者一定要認真的對待自我介紹的這個面試環節。
;⑻ 前端面試會提問到哪些
在面試前端的過程中,有些問題是經常會被提問到的
一、基礎篇
1. 在不使用第三個變數的情況下,如何調換a與b的值?
2. px與em的區別
3. 簡述一下盒模型
4. 頁面導入樣式時,使用link和@import有什麼區別?
5. 簡述一下事件代理
二、HTML常見題目
01、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
02、HTML5為什麼只需要寫?
03、行內元素有哪些?塊級元素有哪些?空(void)元素有哪些?
04、頁面導入樣式時,使用link和@import有什麼區別?
05、介紹一下你對瀏覽器內核的理解?
06、常見的瀏覽器內核有哪些?
07、html5有哪些新特性、移除了哪些元素?如何處理HTML5新標簽的瀏覽器兼容問題?
08、如何區分HTML和HTML5?
09、簡述一下你對HTML語義化的理解?
10、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
三、CSS類的題目
01、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
02、CSS選擇符有哪些?哪些屬性可以繼承?
03、CSS優先順序演算法如何計算?
04、CSS3新增偽類有哪些?
05、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
06、display有哪些值?說明他們的作用。
07、position的值relative和absolute定位原點是?
08、CSS3有哪些新特性?
09、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
10、用純CSS創建一個三角形的原理是什麼?
四、JavaScript類的題目
01、JavaScript中this是如何工作的
02、請解釋原型繼承的原理。
03、什麼是閉包(closure),如何使用它,為什麼要使用它?
04、.call 和.apply的區別是什麼?
05、請指出JavaScript 宿主對象(host objects) 和原生對象(native objects) 的區別?
06、請指出以下代碼的區別:function Person(){}、var person = Person()、var person = new Person()?
07、請解釋變數聲明提升(hoisting)。
08、什麼是 「use strict」; ? 使用它的好處和壞處分別是什麼?
09、什麼是事件循環 (event loop)?
10、請解釋同步 (synchronous) 和非同步 (asynchronous) 函數的區別。
五、開發及性能優化類題目
01、如何規避javascript多人開發函數重名問題?
02、請說出三種減低頁面載入時間的方法.
03、說說你所了解到的Web攻擊技術。
04、說說你說了解的前端性能優化方法?
05、前端開發中,如何優化圖像?圖像格式的區別?
06、瀏覽器是如何渲染頁面的?
07、頁面重構怎麼操作?
08、什麼叫優雅降級和漸進增強?
09、前端需要注意哪些SEO?如何做SEO優化?
10、平時如何管理你的項目?
⑼ 2020年Web前端面試題及答案匯總
今天小編要跟大家分享的文章是關於2020年Web前端面試題及答案匯總。正准備參加Web前端面試的小夥伴們來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助。 ⑽ 前端面試題整理
JavaScript:
一、Mysql資料庫
1.MySQL中varchar與char的區別以及varchar(50)中的50代表的涵義?
答案:
Varchar是變長字元串,最多存儲的大小是65535位元組,查詢速度相對較慢;Char
是定常字元串,最多存儲的大小是255位元組,查詢速度相對較快;
varchar(50)表示:Mysql4.0表示存放50個位元組,5.0存放50個字元。
2.簡述瀏覽器打開#顯示頁面,中間都經過哪些過程?
答案:
向DNS伺服器獲取域名對應的IP地址並返回瀏覽器,通過IP地址向Web伺服器發請求,Web伺服器從文件伺服器獲取網頁中所需要的文件,從資料庫伺服器獲取網頁中所需要的數據,最後講完整的網頁相應給瀏覽器。
3.如何解決MySQL中存儲中文亂碼問題?
答案:
腳本文件採用UTF8編碼
客戶端連接資料庫使用UTF8編碼
伺服器端創建資料庫使用UTF8編碼
4.Float和Double的區別是什麼?
答案:
FLOAT(單精度浮點數)類型數據可以存儲至多8位十進制數,並在內存中佔4位元組。
DOUBLE(雙精度浮點數)類型數據可以存儲至多18位十進制數,並在內存中佔8位元組。
5.把數據id等於1的名字oldboy更改為oldgirl?
答案:
updatetestsetname='oldgirl'whereid=1;
6.如何登錄mysql數據?
答案:
mysql-uroot。
二、JS基礎
1.continue和break有什麼區別?
答案:
break和continue都是用來控制循環結構的:
break終止循環,跳出循環體執行循環後面的語句。
continue跳過本次循環,執行下一次循環。
2.i++和++i的區別?
答案:
i++:先用i值後加1,
++i:先加1後用i值,
計算:varn=5;求varnum=n+++++n+n+++++n+n;//37
3.JavaScript都有哪些數據類型?
答案:
原始類型:數值型/字元串型/布爾型/undefined/null
引用類型:對象
4.自調用函數是什麼?用於什麼地方?
答案:立即執行的函數。(function(){//函數體})();
用於創建一個局部作用域。
5.slice和splice有什麼區別?
答案:
slice截取子數組,從指定的數組中,截取幾個連續的元素組成一個新數組
splice允許從指定數組中,刪除一部分元素,同時再添加另一部分元素
6.typeof返回的類型有哪些?
答案:
number、string、boolean、undefined、object、function
ex:
vararr=[1,2,3,4,5];
console.log(typeof(arr));//object
functionmyDemo(){
returnfunctiontest(){};
}
console.log(typeof(myDemo()));//function
7.取1~11之間的隨機數(即包括1不包括11)?
答案:
Math.floor(Math.random()*10+1)
parseInt(Math.random()*10+1)
8.什麼是變數聲明提前?
答案:
使用var關鍵字聲明的變數,會將聲明提升到所在作用域的最前邊。。
9.push、pop、shift和unshift區別?
答案:
這兩組同為對數組的操作,並且會改變數組的本身的長度及內容。
不同的是push()、pop()是從數組的尾部進行增減,unshift()、shift()是從數組的頭部進行增減。。
10.例舉4種強制類型轉換和3種隱式類型轉換?
答案:
強制轉換:parseInt/parseFloat/Number/toString
隱式轉換:
字元串+數值數值轉字元串
數值+布爾型布爾型中true轉為1,false轉為0
字元串+布爾型布爾型轉為字元串。
11.函數聲明與函數表達式的區別?
答案:
相同點:兩者都可以創建函數。
不同點:函數聲明可以存在函數提升(前),函數表達式不存在函數提升(前)。
//函數聲明
functionmyFunction(){
functioninnerFunction(){}
}
//以下為函數表達式
varmyFunc=function(){};
myFunc(function(){
returnfunction(){};
});
12.請指出JavaScript宿主對象和原生對象的區別?
答案:
宿主對象:指JavaScript解釋器提供的對象,由解釋器廠家自定義並提供實現,不同的解釋器提供的擴展對象存在較大的差異(DOM和BOM對象)。
原生對象:JavaScript語言本身預定義的對象,在ECMAScript標准中定義,由所有的解釋器廠家來提供具體實現(Array,Date,Math,Number,String,Boolean等)。
13.js中有哪些內置函數?
答案:Object,Array,Boolean,Number,String,Function,Date,Math,RegExp,
Error,Global
14.列舉出獲取日期相關函數
答案:
console.log(Date.now());//返回當前日期和時間/01/0100:00:00'之間的毫秒值
vardt=newDate();//獲取當前時間---年月日時分秒
console.log(dt.getTime());//返回當前日期和時間/01/0100:00:00'之間的毫秒值
console.log(dt.getFullYear());//年份
console.log(dt.getMonth()+1);//月份(0-11)
console.log(dt.getDate());//日期(0/1-31)
console.log(dt.getDay());//星期(0-6)
console.log(dt.getHours());//小時(0-23)
console.log(dt.getMinutes());//分鍾(0-59)
console.log(dt.getMilliseconds);//返回毫秒(0-999)
console.log(dt.getSeconds());//秒(0-59)
15.Math相關函數
答案:
Math.random()-返回0~1之間的隨機數
Math.abs(x)-返回數的絕對值
Math.ceil(x)-向上取整
Math.floor(x)-向下取整
Math.round()四捨五入
Math.max()和Max.min()獲取一組數據中的最大值和最小值
Math.PI獲取圓周率π的值Math.pow()獲取一個值的多少次冪
Math.sqrt()對數值開方
Math.pow(10,2)=100;
Math.sqrt(100)=10;
16.null和undefined的區別?
答案:
undefined是訪問一個未初始化的變數時返回的值,
null是訪問一個尚不存在的對象時所返回的值。因此,可以把undefined看作是空的變數,而null看作是空的對象。
17.==和===有什麼不同?
答案:
==抽象相等,比較時,會先進行類型轉換,然後再比較值;
===嚴格相等,判斷兩個值相等同時數據類型也得相同。
18.setTimeout和setInterval的區別是什麼?
答案:
二者都是用來設置定時操作的。
setTimeout:設置一個定時器,在定時器到期後執行一次函數或代碼段
setInterval:設置一個定時器,以固定的時間間隔重復調用一個函數或者代碼段
19.請說出以下代碼執行結果
for(vari=0;i<3;i++){
setTimeout(function(){
console.log(i);
},0);
console.log(i);
}
答案:012333,執行過程如下
vari=0;
console.log(i);i++;
console.log(i);i++;
console.log(i);i++;
setTimeout(function(){console.log(i);
},0);s
etTimeout(function(){
console.log(i);
},0);
setTimeout(function(){
console.log(i);
},0);//輸出012333
20.請說出(true+flase)>2+true的執行結果
答案:false
21.當前代碼塊輸出結果是什麼?
varz=10;
functionfoo(){console.log(z);}
(function(funArg){varz=20;funArg();})(foo);
答案:10,自調用函數。
22.setTimeout(function(){},10)表示什麼意思?
答案:每隔10毫秒調用一次函數。
23.程序中捕獲異常的方法?
答案:
try{
}catch(e){
}finally{
}
24.以下代碼執行結果?
varuname='jack'
functionchange(){
alert(uname)//?
varuname='lily'
alert(uname)//?
}
change()
答案:undefinedlily
25.如何使用npm下載express模塊?
答案:npminstallexpress
26.split和join的區別?
答案:split()將字元串按照指定的字元分割成一個數組,並返回
join()將數組用指定的字元連接成一個字元串,並返回
27.看下列代碼會有什麼樣的輸出?
varfoo="11"+2-"1";
console.log(foo);
console.log(typeoffoo);
答案:111number
28.foo=foo||bar,這行代碼是什麼意思?為什麼要這樣寫?
答案:這種寫法稱之為短路表達式
相當於:
varfoo;
if(foo){
foo=foo;
}else{
foo=bar;
}
常用於函數參數的空判斷
29.用js實現隨機選取10_100之間的10個數字,存入一個數組,並排序
答案:
functiongetRandom(istart,iend){
variChoice=iend-istart+1;
returnMath.floor(Math.random()*iChoice+istart);
}variArray=[];
for(vari=0;i<10;i++){
varresult=getRandom(10,100);
iArray.push(result);
}iArray.sort();
30.如何獲取javascript三個數中的最大值和最小值?
答案:Math.max(a,b,c);//最大值
Math.min(a,b,c)//最小值
31.實現冒泡排序?
vararray=[5,4,3,2,1];
vartemp=0;
for(vari=0;i
for(varj=0;j
if(array[j]>array[j+1]){
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
三、NODEJS
1.同步和非同步有何區別?
答案:
同步:指發送一個請求,需要等待返回,然後才能夠發送下一個請求,有等待過程(在一個任務進行中時不能開啟其他的任務)。
非同步:指發送一個請求,不需要等待返回,隨時可以再發送下一個請求,即不需要等待(在一個任務進行中時可以開啟其他的任務)。
2.NodeJS中有哪些類型模塊,文件操作用哪一個模塊?
答案:
模塊類型:核心模塊、自定義模塊、第三方模塊。
文件操作:fs模塊
3.對NodeJS的優點和缺點提出自己的看法?
答案:CPU密集型任務的特點是進行大量的計算,消耗CPU資源,比如計算圓周率(上千位)、對視頻進行編碼等,全靠CPU的運算能力
(一般用C語言,java)IO(Input/
Output)密集型任務,這類任務的特點是CPU消耗很少,大部分時間都在等待IO操作。常見的大部分任務都是IO密集型任務,比如Web應用(一般用腳本語言:python/Nodejs)。Nodejs設計思想中以事件驅動、非同步、非堵塞I/O密集型為核心,他提供的大多數api都是基於事件的、非同步的風格。所以非常適合處理高並發請求。此外,與Node伺服器交互的客戶端代碼是由js語言編寫的,因此客戶端和伺服器端都用同一種語言編寫,減少了成本。
4.使用NodeJS完成登錄功能(編寫HTML頁面和路由介面中的代碼)?
答案:
HTML頁面:
用戶:
密碼:
user.js路由
constexpress=require('express');
constpool=require('../pool.js');
varrouter=express.Router();
router.post('/login',(req,res)=>{
varobj=req.body;
var$uname=obj.uname;
if(!$uname){
res.send({code:401,msg:'unamerequired'});
return;
}
var$upwd=obj.upwd;
if(!$upwd){res.send({code:402,msg:'upwdrequired'});
return;
}
varsql='SELECT*FROMxz_userWHEREuname=?ANDupwd=?'
pool.query(sql,[$uname,$upwd],(err,result)=>{
if(err)throwerr;
if(result.length>0){
res.send({code:200,msg:'loginsuccess'});
}else{
res.send({code:301,msg:'loginerror'});
}});
});
//路由器導出
mole.exports=router;
5.什麼是Nodejs?
Nodejs是一個JavaScript的運行環境,是一個伺服器端的「JavaScript解釋器」,用於方便高效地搭建一些響應速度快、易於擴展的網路應用。它採用事件驅動、非同步編程,為網路服務而設計
1.介紹一下isNaN函數?
如果參數不是數字類型的話isNaN返回true(函數名稱:isnan函數功能:判斷數組的元素是否是NaN。)
2.javascript都支持哪些布爾型的操作?
&&,||和!(&&邏輯與,||邏輯或,!邏輯非)
3.「1″+2+4在javascript中得到什麼?
因為「1」是String類型,所以所有的操作數都是String,結果為124
4.2+5+」8″得到的結果是什麼?
因為2和5是數字類型,8是字元串,所以得到的結果是78
5.javascript有幾種loop(循環)方法?
for,while,do-while,for...in語句用於遍歷數組或者對象的屬性(對數組或者對象的屬性進行循環操作)。
6.javascript如何創建一個新的對象?
varobj=newObject()或者varobj={}
7.如何為一個對象屬性賦值?
obj["age"]=17或者obj.age=17
8.如何為一個數組添加一個值?
arr[arr.length]=value;
9.javascript基本數據類型/javascript中的typeof返回哪些數據類型
Number類型、Boolean類型、Object類型、String類型、Null、Undefined類型/
10.例舉3種強制類型轉換和2種隱式類型轉換?
強制(parseInt,parseFloat,number)隱式(==_===)
11.數組方法pop()push()unshift()shift()
Push()尾部添加pop()尾部刪除Unshift()頭部添加shift()頭部刪除
12.閉包是什麼,有什麼特性,對頁面有什麼影響
閉包就是能夠讀取其他函數內部變數的函數。
13.添加刪除替換插入到某個接點的方法
obj.appendChild()obj.innersetBefore()obj.replaceChild()obj.removeChild()
14.javascript的本地對象,內置對象和宿主對象
本地對象為arrayobjregexp等可以new實例化
內置對象為gloadMath等不可以實例化的
宿主為瀏覽器自帶的document,window等
15.介紹一下eval()函數
eval()函數可計算某個字元串,並執行其中的的JavaScript代碼。
16.介紹一下JSON
JSON:JavaScript對象表示法(JavaScriptObjectNotation)。
JSON是存儲和交換文本信息的語法。類似XML。
JSON比XML更小、更快,更易解析。
17.jQueryUI與jquery的主要區別是:
(1)jQuery是一個js庫,主要提供的功能是選擇器,屬性修改和事件綁定等等。
(2)jQueryUI則是在jQuery的基礎上,利用jQuery的擴展性,設計的插件。提供了一些常用的界面元素,諸如對話框、拖動行為、改變大小行為等等。
(3)jQuery本身注重於後台,沒有漂亮的界面,而jQueryUI則補充了前者的不足,他提供了華麗的展示界面,使人更容易接受。既有強大的後台,又有華麗的前台。
html+css:
1.對WEB標准以及W3C的理解與認識:
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;
2.xhtml和html有什麼區別:
HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言
最主要的不同:
XHTML元素必須被正確地嵌套。
XHTML元素必須被關閉。
標簽名必須用小寫字母。
XHTML文檔必須擁有根元素。
3.行內元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:divph1h2h3h4formul
行內元素:abbrispaninputselect
Css盒模型:內容,border,margin,padding
4.前端頁面有哪三層構成,分別是什麼?作用是什麼?
結構層Html表示層CSS行為層js
5.寫出幾種IE6BUG的解決方法:
雙邊距BUGfloat引起的使用display
3像素問題使用float引起的使用dislpay:inline-3px
超鏈接hover點擊後失效使用正確的書寫順序linkvisitedhoveractive
Iez-index問題給父級添加position:relative
Png透明使用js代碼改
Min-height最小高度!Important解決』
select在ie6下遮蓋使用iframe嵌套
為什麼沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08line-height:1px)
6.解釋csssprites,如何使用。
Css精靈把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量
7.你如何對網站的文件和資源進行優化?期待的解決方案包括:
文件合並
文件最小化/文件壓縮
使用CDN託管
緩存的使用
8.清除浮動的幾種方式,各自的優缺點:
使用空標簽清除浮動clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)
使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)
是用afert偽元素清除浮動(用於非IE瀏覽器)
9.瀏覽器內核
1、Trident內核:IE最先開發或使用的,也稱IE內核,360瀏覽器使用的也是IE內核;
2、Webkit內核:谷歌chrome瀏覽器最先開發或使用,也叫谷歌內核,楓樹瀏覽器、太陽花使用的也是谷歌內核;
3、Gecko內核:Netscape6開始採用的內核,後來的MozillaFireFox(火狐瀏覽器)也採用了該內核,K-Meleon瀏覽器也是使用這種內核;
4、Presto內核:目前只有Opera瀏覽器採用該內核