① 美团前端面试难吗
美团目前也是在大量的招人啊~~当时参加的是美团打车部门的面试(一年工作经验以上的),部门技术栈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用户:黄先生