xx人寿保险
- 自我介绍
- 为什么转行,平时如何学习
- js单线程,实现异步的的原理
- 工作一年的收获有哪些
- 一个功能,如果既可以后端做,又可以前端做,要怎么分配,考虑哪些问题,如何去沟通
- vue响应式数据原理,如何监听数组变化
- nextTick的理解
- 对mvvm和mvc模式的理解
- 什么情况下用组件
- 工作之余有没有做自己觉得有意思的项目
xx市场营销
笔试
- link和@import区别
- css哪些属性可以继承
- css选择器
- css选择器优先级
- px,em,rem的区别
- 组件样式不影响其他部分的样式,怎么做
- js实现继承
- js内存泄漏出现的原因
- routerouter区别
- vue修饰符
- vuex的属性
面试
- 自我介绍
- 对px,em,rem,vw,vh的理解,项目中的使用
- css选择器有哪些,权重排序
- vue组件通信
- keep-alive用处,钩子函数
- 路由钩子有哪些,触发顺序
xx科技
笔试
- 状态码502
- margin-top对display:inline的元素生效吗
- typeof null,typeof []
- setTimout,promise打印顺序
- css选择器优先级问题
- splice用法
- promise状态
- let用法
- this指向
- 原型链
- http2
- null,undefined,NaN的==判断
- cookie,几种storage
- 立即执行函数 (funcion(n){ })(n)
- 代码题 写digPow(n, p) 检测是否符合以下规则
89 = 8¹ + 9² = 89 = 89 * 1
695 = 6² + 9³ + 5⁴ = 1390 = 695 * 2
n = abcdef... = (a^p + b^(p+1) + c^(p+2) + d^(p+3) + ...) = n * k
digPow(89, 1);
digPow(92, 1);
digPow(695, 2);
digPow(46288, 3);
- 代码题
写函数countZero,接受⼀个参数 n,得到 n! (n 的阶乘) 末尾出现连续 0 的个数
(注意js计算精度)
countZero(5);
countZero(10);
countZero(20);
countZero(100);
- 代码题
设计函数maxSequence,接受⼀个参数 list,来尝试解决 "最⼤⼦数组和问题"
maxSequence([])
maxSequence([-2, -3, -4, -1, -10])
maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4])
maxSequence([1, -3, 3, 2, -1, 4, -2])
面试
- 自我介绍
- 为啥转行,读了哪些书,怎么学习的
- 考研考了哪些科目,考的哪个学校
- 做的项目,遇到的困难
- 营销模板,可视化搭建的流程
- 项目开发流程,需求-开发-测试-上线过程,沟通问题
- git的commit有规范吗,团队eslint配置做过没
- 跨域问题,nginx配置过吗(开始吹牛!)
- 做需求碰到问题怎么办
- label checkbox绑定
- script标签async和defer
- srcset属性
- css选择器优先级
- 样式冲突问题解决方法
- 函数字面量和function声明的区别
- 系统解决兼容性问题的方法
- 如何深度比较两个对象是否相同
- 一个函数,要缓存它的结果,怎么做
- attribute和property的区别
HR面
- 自我介绍
- 为什么做前端
- 离职原因
- 做to B的业务,是否会觉得无聊
- 你的缺点是什么,性格上的
- 你的最失败一段经历的是什么
- 对公司的了解