文章目录
这篇文章是记录自己以及朋友在春招面试遇到的问题,以提醒自己还有什么没有掌握。
腾讯一面
- typeof [] object
1 | var a = 'global'; |
- HTTP状态码
- 网络缓存和浏览器缓存
- 数组去重
- 输出n -> m范围的随机整数
- 正则:第一个为大写首字母,其他是3-13位字母数字和下划线
- MVVM
- 简述客户端优化
- 原生使用ajax请求
- 实现两边定宽,中间自适应布局
- 写出display的值
- 内存泄漏
阿里评测
- 工作室负责任务,然后问了一下后台
- 讲到了统计工具,问了一下后端数据怎么拿
- 问了数据怎么处理
- 问了在项目中React干了什么
- 跨域
- var let const
- 深复制,浅复制
- 工具 vscode
- git push了一个错误,怎么回退, git revert可以撤销commit,同时生成一个记录
- webpack?
- 非React时代项目
- 熟悉什么算法
腾讯二面(LMH)
- node
- 小程序
- 项目
- 做过哪些优化
- 要用 HTTP2.0 要怎么做
网易一面
- travis CI 与 cicle CI 的区别,gitlab CI?一般可以干什么,可以配置什么
- 区别
- cicle CI:可以使用ssh本地调试,YAML config比较轻量,无需专用服务器(但允许在私有云运行),缓存需要的安装,需要很少的配置,开箱即用
- travis CI: (也有 YAML config, cloud base, 支持docker,)可以选择在Linux或者 Mac OSX运行,更多语言,支持构建矩阵(使用不同环境和语言)
- 了解sass什么?继承与mixin区别
- 你了解的前端工程化
- 规范,eslint/stylelint
- 流程,增强开发进度管理和控制git
- 模块化
- 组件化
- 单元测试
- 自动化工具
- 如果要重构一个新闻页面,你会用到什么H5新标签。figure为什么需要,直接img标签不行吗
- 简述一下HTTP缓存,如果要获得最新的文件,为什么不使用query而是改变文件名? 后端怎么知道链接有没有缓存
- 了解渲染对优化性能有什么作用?defer与async的区别,使用场景
- 你了解的自适应网站是什么
- 任务循环?
腾讯一面(ZCX)
- React router的原理
- 跨域原理
- webpack怎么编译?原理
- 求中位数?– 堆 – 改进的快排 – 排序
- webpack的public path是干什么的?
- vue 的 node 模块
- animation参数
网易一面(FZL)
- node流
- CSS3的新属性
- 算法:中位数
- 算法:100层楼,2颗弹珠
腾讯一面(二)
- animation 与 transition区别?
- React事件
- map与reduce方法
- redux
- 实现布局:
1 | --------------------- |
- 你对前端的理解
- position
- 谈谈项目
- 项目?你觉得为什么要生成随机类名呢
- 自己的项目?
- 之前面过一次,你觉得为什么没过
腾讯一面(三)2019-03-23
- 自我介绍
- 介绍一下项目经历(就加入工作室之后做了什么项目)
- 介绍一下继承,讲了Object.create(),组合继承,ES6继承
- new操作符发生了什么
- 跨域,JSONP原理
- ES6
- 箭头函数
- 一个对话框,垂直居中,水平居中(其中内容还是可以点击),讲了fixed,margin auto
- 缓存和HTTP状态码304,HTTP头怎么设置的
- 输入URL到渲染—> TCP挥手
- redux的数据流向
- 事件委托
- React的事件机制
- 规划,投了什么,怎么学习,相比科班的优势
- 还有什么问题?
字节跳动一面 2019-03-23
- 自我介绍
- 进程和线程
- HTTPS
- 写一道算法题:给一个无重复的数组arr,要求找到n个数,其和为m,找到这n个数的组合
- 重绘和回流
- cookie、sessionStorage和localStorage
- 缓存
- 你觉得在webpack中css可以require进来,那么css打包了之后是什么样子的。在网页上它又是怎么运行的?
- 有自己优化过吗?客户端优化
- 一道简单关于this的题目
字节跳动二面 2019-03-23
- 自我介绍
- 介绍项目,项目中遇到什么难点
- 思考:一般搜索之后的值会有提示,假如搜索了123,那么输入1的时候就会有123提示出来,如果要按照时间的顺序来排序,应该怎么实现。如果输入13之后123也需要出现在提示中,又应该怎么做?
- 算法:假设定义一个绝对大值n,其在数组中的出现次数大于数组length的一半。找出这样的数。比如[1,1,1,5,1,1],1出现了5次,大于数组长度的一般3,所以绝对大值为1
- 你觉得为什么React中setState是异步的?
- 在React15和16版本中,你觉得React最大的更新是什么?
- 怎么实现一个事件订阅发布机制
字节跳动三面 2019-03-23
- 自我介绍
- React中的HOC与render props的区别
- 如果要讲一个props从祖先组件传递到嵌套较深的子组件,有什么方法?讲了Context和Redux,问还有吗?没有想到
- 一道题目:[‘apple’, ‘pears’, ‘apple’]问有多少个单词,在不引入新的变量的情况下(后面给了提示:使用reduce)
- 题目:判断下面代码的运行情况,并说明理由
1 | setTimeout(() => console.log(1)) |
- React中的render component与controlled component有什么区别(没听清楚是否这两个组件)
- Etag怎么生成?
- Etag为什么要跟last-modified一起使用?
- 题目:实现一个throttle函数
- 组件化和模块化的区别
- 单元测试中一般怎么衡量覆盖度?只回答了if/else分支
- 模拟一个instanceof的过程
Others
from network
- 阅读这篇文章
- 解释下这个 bug 的产生原因。
- 比较这个 bug 的代码和 https://jsbin.com/jipivovasa/1/edit?js,console
以及 https://jsbin.com/macasotini/1/edit?js,console
解释两段代码输出的count
值不一样的原因。