① 美團前端面試難嗎
美團目前也是在大量的招人啊~~當時參加的是美團打車部門的面試(一年工作經驗以上的),部門技術棧vue,後台就是node,一面通過,等了兩個小時面試二面,然後通知我回去等消息,一般這樣就是掛掉了,毫無疑問。美團是一次性全部面完的。所以去參加最好做好面試四個小時的打算。
先來聊聊一面吧~哈哈
一面
1.簡單的自我介紹,與大體的了解我。。。
一面面試官非常不錯,先問了下幾個項目和用到的技術,會先對我懂的東西做一個大體的了解,比如webpack的單頁面的多頁面切換,webpack的按需載入,一些webpack的配置有哪些,問了有沒有看vue源碼,我說了一個vue的watch,大體問了問我框架方面的東西,發現我對框架並不是很熟練,安慰我說沒有關系。
2.promise的原理
這個面試官最讓人欣賞的就是不會去問你不了解的東西,一開問了我promise,發現我用的並不是很多,就很自然的說沒事,換一種方法問你~~~好和藹啊~
然後就讓我用原生js寫一個回調函數,其實就是問promise的原理了,js寫一個。
3.this指向
這個是面試官手寫了一道變態長以及繞的this指向題,可以自行網路js this指向面試題,看幾道沒有啥問題,需要關注的是其中也考了,argument,和apply(null)。以後想起來再寫吧
4.bind與函數柯里化
也就是寫個bind,這個紅皮書高級函數(22章)有,
可以看下。不過還是得先理解bind的用法,返回一個函數,以及可以傳遞的參數。參數這里涉及到了函數柯里化。都是手寫代碼,而且最好寫的整潔,因為我有些一筆帶過,面試官都讓我寫完整,明確說要看我寫代碼水平
5.==, isNaN, typeof
問這個之前先問了我有幾種數據類型(七種,下圖再加symbol),這里隱形的看你知不知道es6,symbol這個新出的類型。說出了symbol自然會問你這個類型有什麼用。
然後就寫了好多個typeof,isNaN,==的問輸出,這個就是基礎題
6.知道什麼http請求頭?
這個可以說的很多,說了幾個,又主動說了下有關跨域請求頭,之前項目用的cors,於是和他聊了一會,其實面試就是主動表現自己,把自己知道的都說出來,不然幾個請求頭說細不細,要問細了能把人問蒙了,最好把話題引到自己知道的地方。
7.問了css
問了css盒子並畫出來,清除浮動與bfc,兩列布局。
8.說了一大堆其實就是想考我防抖
面試完這個問我想問的問題,我直接問還有二面么?回答有的,又介紹了一會美團打車,說是後台是node,看來要求是前端也要有後台的知識嘍。
二面
二面的是我的學長,可是我被問慘了。。。。問的顯然比一面深入很多,都問了java
1.自我介紹,問項目
針對項目問了不少,當時有一個支付行為的項目,於是問了很多安全方面的問題,蒙蒙的,完全不知道。第一個就很失敗了。然後問了其他的項目,問了websocket。
2.node的EventEmitter用js實現出來
寫出來了,但是可以看出來代碼寫的不規范,學長面試官表示看起來很亂。不過大約算是可以的,指出了幾個問題,讓我進行修改。(之後完善)
3.虛擬dom
其實vue中就有jsx,react的特點之一有jsx,虛擬dom和代碼優化有點關系。
先說下正常對dom的操作,在瀏覽器中分為渲染引擎和js引擎,現在瀏覽器內核一般都是渲染引擎(生成渲染樹),因為js引擎越來越獨立了(所謂的v8引擎?)
然而你在js中獲取dom元素的時候你必須要通過渲染引擎,這樣兩個線程之間的數據交換自然會很慢。所以在前端優化中總是要考慮減少dom操作這一項。包括獲取dom元素變數儲存起來。
jsx是把dom元素變成了儲存在內存中的數據結構。js很快,操作dom也很快。不過也存在缺點,目前的理解就這么點了。
4.路由的實現原理
餓,不知道。。(待會看!)
5.node文件流,java的映射機制(記不太清楚)?
餓。。
6.數組方法map和recer區別?
餓
7.進程與線程的區別
終於有個我會的了,這個顯然想問你js的運行機制。先介紹了下進程與線程。
一個瀏覽器是一個進程,雖然js是單線程的,但是瀏覽器是多線程的,v8引擎也是多線程的,比如有渲染線程,有處理請求的線程。然後說說任務隊列,eventloop。沒有理解很深也不敢往下說。
事件循環可以看下這個,鏈接
8.樹遍歷
先序,中序,後序。我只知道這么多了,顯然想讓我寫一個的,可是不會。也顯然面試官內心已經把我pass掉了,沒多問。
9.問了個演算法
KMP??反正我不知道。
② unity3d面試,都問些什麼問題
forward shading 和 deferred shading詳解
ngui的性能優化方案
可交互植被 時間問題
詳解網路通信框架
解釋udp tcp
物理引擎
骨骼動畫的專原理 頂點索引在屬哪些文件里
assetbundle打包解決方案
解釋渲染管線
光照計算在什麼時候進行?
lua有沒有使用過?
command buffer的使用
③ Web前端崗位面試題有哪些
HTML+CSS
1.對WEB標准以及W3C的理解與認識
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外
鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維
護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;
2.xhtml和html有什麼區別
HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言
最主要的不同:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關閉。
標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
3.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
用於聲明文檔使用那種規范(html/Xhtml)一般為 嚴格 過度 基於框架的html文檔
加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:div p h1 h2 h3 h4 form ul
行內元素: a b br i span input select
Css盒模型:內容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的區別是?
內聯 內嵌 外鏈 導入
區別 :同時載入
前者無兼容性,後者CSS2.1以下瀏覽器不支持
Link 支持使用javascript改變樣式,後者不可
6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
標簽選擇符 類選擇符 id選擇符
繼承不如指定 Id>class>標簽選擇
後者優先順序高
7.前端頁面有哪三層構成,分別是什麼?作用是什麼?
結構層 Html 表示層 CSS 行為層 js
8.css的基本語句構成是?
選擇器{屬性1:值1;屬性2:值2;……}
9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?
Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
10.寫出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 使用display
2.3像素問題 使用float引起的 使用dislpay:inline -3px
3.超鏈接hover 點擊後失效 使用正確的書寫順序 link visited hover active
4.Ie z-index問題 給父級添加position:relative
5.Png 透明 使用js代碼 改
6.Min-height 最小高度 !Important 解決』
7.select 在ie6下遮蓋 使用iframe嵌套
8.為什麼沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.標簽上title與alt屬性的區別是什麼?
Alt 當圖片不顯示是 用文字代表。
Title 為該屬性提供信息
12.描述css reset的作用和用途。
Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一
13.解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量
14.瀏覽器標准模式和怪異模式之間的區別是什麼?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可顯示為什麼模式
15.你如何對網站的文件和資源進行優化?期待的解決方案包括:
文件合並
文件最小化/文件壓縮
使用CDN託管
緩存的使用
16.什麼是語義化的HTML?
直觀的認識標簽 對於搜索引擎的抓取有好處
17.清除浮動的幾種方式,各自的優缺點
1.使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)
2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)
3.是用afert偽元素清除浮動(用於非IE瀏覽器)
Javascript
1.javascript的typeof返回哪些數據類型
Object number function boolean underfind
2.例舉3種強制類型轉換和2種隱式類型轉換?
強制(parseInt,parseFloat,number)
隱式(== – ===)
3.split() join() 的區別
前者是切割成數組的形式,後者是將數組轉換成字元串
4.數組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除
5.事件綁定和普通事件有什麼區別
6.IE和DOM事件流的區別
1.執行順序不一樣、
2.參數不一樣
3.事件加不加on
4.this指向問題
7.IE和標准下有哪些兼容性的寫法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax請求的時候get 和post方式的區別
一個在url後面 一個放在虛擬載體裡面
有大小限制
安全問題
應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的
9.call和apply的區別
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax請求時,如何解釋json數據
使用eval parse 鑒於安全性考慮 使用parse更靠譜
11.b繼承a的方法
12.寫一個獲取非行間樣式的函數
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
13.事件委託是什麼
讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!
http://www.webasily.com/?p=78 例子可見此鏈接
14.閉包是什麼,有什麼特性,對頁面有什麼影響
閉包就是能夠讀取其他函數內部變數的函數。
深入理解JavaScript的閉包特性 如何給循環中的對象添加事件 此鏈接可查看(問這個問題的不是一個公司)
15.如何阻止事件冒泡和默認事件
canceBubble return false
16.添加 刪除 替換 插入到某個接點的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解釋jsonp的原理,以及為什麼不是真正的ajax
動態創建script標簽,回調函數
Ajax是頁面無刷新請求數據操作
18.javascript的本地對象,內置對象和宿主對象
本地對象為array obj regexp等可以new實例化
內置對象為gload Math 等不可以實例化的
宿主為瀏覽器自帶的document,window 等
19.document load 和document ready的區別
Document.onload 是在結構和樣式載入完才執行js
Document.ready原生種沒有這個方法,jquery中有 $().ready(function)
20.」==」和「===」的不同
前者會自動轉換類型
後者不會
21.javascript的同源策略
一段腳本只能讀取來自於同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協議和埠號的組合
22.編寫一個數組去重的方法
function oSort(arr)
{
var result ={};
var newArr=[];
for(var i=0;i<arr.length;i++)
{
if(!result[arr])
{
newArr.push(arr)
result[arr]=1
}
}
return newArr
}
④ Web前端技術面試的公眾號還有哪些
HTML+CSS1.對WEB標准以及W3C的理解與認識標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;2.xhtml和html有什麼區別HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言最主要的不同:XHTML元素必須被正確地嵌套。XHTML元素必須被關閉。標簽名必須用小寫字母。XHTML文檔必須擁有根元素。3.Doctype?嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?用於聲明文檔使用那種規范(html/Xhtml)一般為嚴格過度基於框架的html文檔加入XMl聲明可觸發,解析方式更改為IE5.5擁有IE5.5的bug4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?塊級元素:divph1h2h3h4formul行內元素:abbrispaninputselectCss盒模型:內容,border,margin,padding5.CSS引入的方式有哪些?link和@import的區別是?內聯內嵌外鏈導入區別:同時載入前者無兼容性,後者CSS2.1以下瀏覽器不支持Link支持使用javascript改變樣式,後者不可6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?標簽選擇符類選擇符id選擇符繼承不如指定Id>class>標簽選擇後者優先順序高7.前端頁面有哪三層構成,分別是什麼?作用是什麼?結構層Html表示層CSS行為層js8.css的基本語句構成是?選擇器{屬性1:值1;屬性2:值2;……}9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?Ie(Ie內核)火狐(Gecko)谷歌(webkit)opear(Presto)10.寫出幾種IE6BUG的解決方法1.雙邊距BUGfloat引起的使用display2.3像素問題使用float引起的使用dislpay:inline-3px3.超鏈接hover點擊後失效使用正確的書寫順序linkvisitedhoveractive4.Iez-index問題給父級添加position:relative5.Png透明使用js代碼改6.Min-height最小高度!Important解決』7.select在ie6下遮蓋使用iframe嵌套8.為什麼沒有法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08line-height:1px)11.標簽上title與alt屬性的區別是什麼?Alt當圖片不顯示是用文字代表。Title為該屬性提供信息12.描述cssreset的作用和用途。Reset重置瀏覽器的css默認屬性瀏覽器的品種不同,樣式不同,然後重置,讓他們統一13.解釋csssprites,如何使用。Css精靈把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量14.瀏覽器標准模式和怪異模式之間的區別是什麼?盒子模型渲染模式的不同使用window.top.document.compatMode可顯示為什麼模式15.你如何對網站的文件和資源進行優化?期待的解決方案包括:文件合並文件最小化/文件壓縮使用CDN託管緩存的使用16.什麼是語義化的HTML?直觀的認識標簽對於搜索引擎的抓取有好處17.清除浮動的幾種方式,各自的優缺點1.使用空標簽清除浮動clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)3.是用afert偽元素清除浮動(用於非IE瀏覽器)Javascript1.javascript的typeof返回哪些數據類型.例舉3種強制類型轉換和2種隱式類型轉換?強制(parseInt,parseFloat,number)隱式(==–===)3.split()join()的區別前者是切割成數組的形式,後者是將數組轉換成字元串4.數組方法pop()push()unshift()shift()Push()尾部添加pop()尾部刪除Unshift()頭部添加shift()頭部刪除5.事件綁定和普通事件有什麼區別6.IE和DOM事件流的區別1.執行順序不一樣、2.參數不一樣3.事件加不加on4.this指向問題7.IE和標准下有哪些兼容性的寫法Varev=ev||window.eventdocument.documentElement.clientWidth||document.body.clientWidthVartarget=ev.srcElement||ev.target8.ajax請求的時候get和post方式的區別一個在url後面一個放在虛擬載體裡面有大小限制安全問題應用不同一個是論壇等只需要請求的,一個是類似修改密碼的9.call和apply的區別Object.call(this,obj1,obj2,obj3)Object.apply(this,arguments)10.ajax請求時,如何解釋json數據使用evalparse鑒於安全性考慮使用parse更靠譜11.b繼承a的方法12.寫一個獲取非行間樣式的函數functiongetStyle(obj,attr,value){if(!value){if(obj.currentStyle){returnobj.currentStyle(attr)}else{obj.getComputedStyle(attr,false)}}else{obj.style[attr]=value}}13.事件委託是什麼讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!14.閉包是什麼,有什麼特性,對頁面有什麼影響閉包就是能夠讀取其他函數內部變數的函數。15.如何阻止事件冒泡和默認事件canceBubblereturnfalse16.添加刪除替換插入到某個接點的方法obj.appendChidl()obj.innersetBeforeobj.replaceChildobj.removeChild17.解釋jsonp的原理,以及為什麼不是真正的ajax動態創建script標簽,回調函數Ajax是頁面無刷新請求數據操作18.javascript的本地對象,內置對象和宿主對象本地對象為arrayobjregexp等可以new實例化內置對象為gloadMath等不可以實例化的宿主為瀏覽器自帶的document,window等19.documentload和documentready的區別Document.onload是在結構和樣式載入完才執行jsDocument.ready原生種沒有這個方法,jquery中有$().ready(function)20.」==」和「===」的不同前者會自動轉換類型後者不會21.javascript的同源策略一段腳本只能讀取來自於同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協議和埠號的組合22.編寫一個數組去重的方法functionoSort(arr){varresult={};varnewArr=[];for(vari=0;i<arr.length;i++){if(!result[arr]){newArr.push(arr)result[arr]=1}}returnnewArr}
⑤ 准備去找工作啦求問Unity面試什麼比較重要
技術知識掌握情況。
1.請簡述值類型與引用類型的區別
2.C#中所有引用類型的基類是什麼
3.請簡述ArrayList和List<Int>的主要區別
4.請簡述GC(垃圾回收)產生的原因,並描述如何避免?
5.請描述Interface與抽象類之間的不同
6.下列代碼在運行中會產生幾個臨時對象?
7.下列代碼在運行中會發生什麼問題?如何避免?
8.請簡述關鍵字Sealed用在類聲明和函數聲明時的作用
9.請簡述private,public,protected,internal的區別
10.反射的實現原理?
11. .Net與Mono的關系?
12.簡述unity3d支持的作為腳本的語言的名稱
13.Unity3D是否支持寫成多線程程序?如果支持的話需要注意什麼?
14.Unity3D的協程和C#線程之間的區別是什麼?
15.U3D中用於記錄節點空間幾何信息的組件名稱,及其父類名稱
16.簡述四元數的作用,四元數對歐拉角的優點?
17.向量的點乘、叉乘以及歸一化的意義?
18.矩陣相乘的意義及注意點
19.為何大家都在移動設備上尋求U3D原生GUI的替代方案
20.請簡述如何在不同解析度下保持UI的一致性
21.為什麼dynamic font在unicode環境下優於static font
22.Render的作用?描述MeshRender和SkinnedMeshRender的關系與不同
23.簡述SkinnedMesh的實現原理
24.在場景中放置多個Camera並同時處於活動狀態會發生什麼?
25.Prefab的作用?如何在移動環境的設備下恰當地使用它?
26.如何銷毀一個UnityEngine.Object及其子類
27.為什麼Unity3D中會發生在組件上出現數據丟失的情況?
28.如何安全的在不同工程間安全地遷移asset數據?三種方法
29.MeshCollider和其他Collider的一個主要不同點?
30.當一個細小的高速物體撞向另一個較大的物體時,會出現什麼情況?如何避免?
31.OnEnable、Awake、Start運行時的發生順序?哪些可能在同一個對象周期中反復的發生?
32.請簡述OnBecameVisible及OnBecameInvisible的發生時機,以及這一對回調函數的意義?
33.Unity3D如何獲知場景中需要載入的數據?
34.MeshRender中material和sharedmaterial的區別?
⑥ 各位在職的unity3d程序員都是怎麼面試的
考試考的c++,然後讓我寫了幾個簡單的碰撞檢測,然後老大問我,線性代數怎麼樣,我說還行,然後又讓我寫了個如何確定角色正方向的的簡單的演算法思路。最後問我會不會unity,我說不會。問我,如何便利圖找最短路徑,有沒有思路,我來了句迪傑斯特拉演算法(其實怎麼算的我完全不會),然後就錄用了。
⑦ unity3d面試的時候會問到什麼最多,必須要會的操作是什麼
首先最最最基礎的幾個UI插件和一些touch是必須會的,其次是一些設計模式和框架,可能不需要你寫框架 ,但是他肯定會問你相關的問題。最後就是熱更新和網路通訊,再就沒啥了,可能會考你幾個小問題,那就看你臨場發揮了。 來自職Q用戶:宋先生
你要真會unity,管人家問什麼,照答就是了,如果不會的話,你去面試什麼 來自職Q用戶:黃先生