19年前端秋招面试记录,面经分享

作业帮

作业帮一面
- 标准盒模型,怪异盒模型区别
- 手撕js实现对象变query
- 手撕代码实现梯形
1. css3实现
2. 面试官要求利用盒模型的特点实现 (border-top: 100px soild black) border的实质为梯形
- node event模块,手撕js实现订阅发布模式
- js变量提升 var,let,const区别- vue生命周期
- 问题1:当路由从一个模板跳转到另一个模板中间发生了什么
- 问题2:什么阶段data挂载,什么阶段comput挂载,什么阶段methods挂载
- 问题3:  组件之前数据怎么传递(vuex ,eventBus,props, emit,refs)
-问题4:一个模块中props,data 中存在同名的变量,会渲染哪一个,为什么?
- js数据类型
- 问题1:有哪些数据类型
- 问题2:一个字符串ss,typeof  ’ss‘ 是String,但是它为什么会有.slice等方法 它不是一个对象,为什么会有方法
- git 当需要切换分支 但又不想提交本地代码 需要什么指令  (git statsh)
作业帮二面
- var function let 变量提升
- 手撕代码实现 一个带有阴影和高亮的按钮 并且垂直水平居中
- 手撕代码实现 一个数组深度遍历 [1,[2,3,4],[[5,6],7],8] 输出[1,2,3,4,5,6,7,8] (数组扁平化)
- css选择器的优先级- 最近在学习什么? 答:TypeScript
- 问 TypeScript和js最大区别在什么地方
- TypeScript 接口有什么作用,什么时候需要用到接口
- 最近有没有看过什么技术文章
- 答:https原理 然后讲解一下https原理
- 爬虫的基本原理是什么?
- 怎么能防止爬虫
- 爬虫怎么能越过验证码
- 歌词暴力遍历的优化?转链表,手撕现场实现 计算时间复杂度

猿辅导

猿辅导一面
1.Vue双向绑定如何实现
2.最简单的话介绍mvvm,MVC区别
3.四层网络模型
4.dns查询,tcp,ip,http属于那一层
5.webscoket
6.手写用链表实现循环队列(10分钟)
7.手写实现查找数组的最长递增子序列(15分钟)
猿辅导二面
1.节流防抖
2.数组去重
[1,2,3,5,5,5,3,2,4]
最后输出
[1,4]
因为555去除掉后 33连在了一起 ...
3.事件循环
4.setTimeout 是如何实现
5.Promise
猿辅导三面
1.setTimeout底层如何实现的
2.restful风格 介绍各种http方法区别 API风格
3.UDP特点 UDP IP区别 tcp缺点
4.线程进程 CPU调度 CPU如何处理
单核CPU下如何处理线程 保持程序同时进行
5.dns ARP 一系列 IP地址到物理地址
6.输出一个二叉树某一层的宽度(非满二叉树) 就是某一层有多少个结点
7.服务端推送如何实现

腾讯地图

腾讯一面
1.手写div垂直水平居中,两种方式
2.画盒模型
3.清除浮动的几种方式
4.手写实现观察者模式
5.解决跨域的几种方式
6.手写实现找出字符串中出现最多的字母打印该字母与次数
7.手写实现判断一个数是否为质数的函数
8.this指向(箭头函数,普通函数)
9.改变this指向的有哪些方式,手写实现bind函数
10.小程序页面传值
腾讯二面
1.小程序点击事件卡顿如何优化(有没有了解过底层)
2.webpack优化 webpack的hash算法
3.https原理,浏览器如何判断证书可信未被篡改
4.非对称加密,对称加密 https采用什么为什么 加密有哪些算法
5.浏览器缓存 对比缓存 强制缓存
6.一个js项目如何向ts迁移
7.Vue如何劫持数组

网易传媒

网易一面
1.DOM bom
2.css 动画 过渡
3.css 预编译
4.flex
5.apply call
6.promise 实现 await
7.js http请求 Ajax 基于promise的Ajax
8.Vue router VueX
9.Vue模块优化 路由分片 按需加载
10.webpack搭建Vue脚手架 webpack优化
11.跨域解决
12 this指向
网易二面
怼项目,怼简历

蘑菇街

蘑菇街一面
1.js基本类型,引用类型
2.介绍原型链
3.Vue生命周期
4.手写深度克隆
5.手写event 发布订阅
6.手写节流
7.图片懒加载实现的几种方式
8.webpack配置
9.node
10.建议学习Vuecli源码 自己搭建一套脚手架
蘑菇街二面
怼项目,怼简历
蘑菇街三面
1.最近关注的新文章
2.100元红包发给10个人,每个人不能大于12元,不能小于6元,每个人的钱数是随机的,钱要发完
3.数据库设计,如何优化数据存储查询速度
4.redis与mysql区别
5.前端后端如何防止并发
7.spring node掌握程度
8..storage实现原理
9.成长计划

阿里菜鸟

阿里一面
vue 双向绑定
1.    vuex 原理
2.    http 缓存 字段有哪些
3.    跨域解决方法 CROS如何实现 会先发一个option请求 有什么用 前端需要做什么工作
4.    Post Get区别
5.    Xss csrf 攻击与预防
6.    Cookie,session区别
7.    Token jwt
8.    快排

thoughtworks

大型群面现场
1.模拟开发小团队
2.设计无人机飞行路线

字节跳动

头条一面
1.apply,call区别
2.作用域链,闭包
function test (person){
person.name="114"
person={
name="222";
age="20";
}
return person;
}
const p1={
name="333",
age="33"
}
const p2=test(p1)
console.log(p1)
console.log(p2)
3.async,await,promise
4.原型链 typeof instanceof
typeof null
arr instanceof Function
5.进程线程
6.两道js题
将一个数组打乱随机生成一个新数组
函数接受一个数组 一个数 ,返回数组中两个数只和等于输入的那个数的这两个数的index
7.js垃圾回收机制
8.js基本类型
头条二面
1.http缓存
2.Vue双向绑定
3.Vue-router原理
4.小程序框架
5.三栏布局
6.css3动画 过渡
7.驼峰转下划线
8.query转对象
9.配置Nginx 反向***(手写) 负载均衡
10.Linux 查看日志 Nginx日志在哪个文件下
头条三面
1.csrf,xss攻击
2.sso单点登录
3.你是如何学习的
4.以后的规划
5.对设计模式怎么看

美团

美团1面
1.https
2.布局模式,移动端布局容易出现的问题
3.数据可视化,图像显示有哪几种方式(css3,canvas,svg)
4.git
5.图片懒加载几种方式

京东物流

1.typeof null
2.深拷贝
3.虚拟Dom
4.vue双向绑定
5.vuex原理
6.还有好几个题,因为当时没有记录忘记了😂

猫眼

猫眼一面
1.手写节流
2.浏览器输入一个url,到页面显示的过程
3.手写订阅发布者模式
4.给定一个数组arr,和一个target,在数组中找出两个元素为这target的和,返回他们的下标
5.token cookie session
猫眼二面
1.浏览器缓存
2.https原理
3.虚拟dom,双向绑定
4.微信小程序rpx与vw,px,rem区别
5.storage实现原理
6.小程序登录流程 openid和token
7.手撕代码 实现一个函数接受一个值,输出小于这个数的斐波那契数列的所有项
8.手撕代码 实现一个自增类 改类有一个id属性,每次实例化时,id都加一

#腾讯##网易##蘑菇街##作业帮##秋招##前端工程师##面经#
全部评论
感谢大佬分享经验
1 回复
分享
发布于 2019-11-21 09:44
我猿辅导的三面要是这几个题 妥妥的凉了啊😂
点赞 回复
分享
发布于 2019-09-18 17:27
阿里巴巴
校招火热招聘中
官网直投
真大佬
点赞 回复
分享
发布于 2019-09-18 17:30
大佬 大佬
点赞 回复
分享
发布于 2019-11-20 11:41

相关推荐

5 76 评论
分享
牛客网
牛客企业服务