华为
一面:主要还是根据简历来提问 2019/3/11
(1)ES6
- 箭头函数
- 变量的定义let、const,let与var的区别(变量提升)
- 数组去重(set)
- 变量的解构赋值
- 模板 导入导出
- promise
问得还挺多的
(2)CSS
- 行内元素与块元素的区别(比如可以定义宽高、padding等属性吗?)
- position布局有哪些?relative布局会不会影响旁边元素
- CSS动画(transition、animation)animation中的关键帧怎么设置
(3)HTML
- html5语义化以及新增标签
- canvas用过吗
- flex布局的属性
- 本地存储 localStorage、sessionStorage
- 同源策略
- web安全(xss和csrf)怎么避免
- xss:我说的过滤、检测,然后面试官说这个作用很小,要通过转码的方式
下面是根据简历来的:
(1)vue怎么实现传值,父子以及兄弟之间
(2)MVVM与MVC的区别
(3)jQuery是干什么的,写过jQuery插件吗?了解是怎么个机制吗 还有ajax使用jQuery写的
(4)vue怎么实现数据的双向绑定(数据劫持结合发布者订阅者模式)
(5)说一下viewport,当没有设置viewport在手机上打开页面时,会出现什么现象:手机浏览器会把页面缩小到很小,可以看到整个页面但是看不到字。
(6)微信小程序与普通的h5页面有什么区别
- 开发工具不同。h5的开发工具+浏览器手机预览模式,小程序的开发基于自己的开发者工具。
- 开发语言不同,小程序自己开发了一套WXML标签语言和WXSS样式语言,并非直接使用标准的HTML5+CSS3
- 服务器域名配置不同,普通H5手机网站只需要客户注册自己的域名并解析即可使用;而微信小程序使用的域名必须备案,必须添加https
(7)在项目过程中遇到了什么问题,怎么解决的
腾讯深圳一面 2019/3/7
首先自我介绍
(1)ajax原理
(2)http状态码了解吗?主要有哪些
(3)盒模型
(4)水平垂直居中一个元素
(5)继承实现方法
(6)http缓存头有哪些? Expires、Cache-Control、Last-Modified等
(7)meta定义 手机h5与pc端的区别
(8)rem原理,对viewport的理解
(9)闭包
(10)this指针
(11)web安全(XSS和CSRF)
(12)跨域 callback怎么传递的
(13)事件机制 事件委托 事件冒泡
最后问了一个逻辑性问题:时钟7:45之间的夹角
机面
过了不久约了机面,qq共享桌面,一共出了2道题,一个小时
(1)页面内有一个input输入框,实现在数组arr查询命中词并和autocomplete效果。
(2)实现大数相加
上海intel亚太研发中心 2019/3/12
一面
可能更注重项目和实习经验,并没有问我任何前端经典面试题。
开场直接对我之前的实习公司提问,主要的工作内容,h5的特性了解吗?
然后介绍了一下另一个项目,问我可以实习到什么时候等等。
腾讯(北京)一面
1、介绍自己和做的项目
2、在项目中遇到了哪些问题
3、从输入url到打开页面发生了什么?
常见的请求头、connection:close和keep-alive的区别、accept包含哪些值
从提交请求到服务器返回数据之间发生了什么
4、前端框架了解吗?
5、es6的一些东西,for in和for of的区别