金三银四,一年切图仔的面试记录

190 阅读3分钟

xx人寿保险

  • 自我介绍
  • 为什么转行,平时如何学习
  • js单线程,实现异步的的原理
  • 工作一年的收获有哪些
  • 一个功能,如果既可以后端做,又可以前端做,要怎么分配,考虑哪些问题,如何去沟通
  • vue响应式数据原理,如何监听数组变化
  • nextTick的理解
  • 对mvvm和mvc模式的理解
  • 什么情况下用组件
  • 工作之余有没有做自己觉得有意思的项目

xx市场营销

笔试

  • link和@import区别
  • css哪些属性可以继承
  • css选择器
  • css选择器优先级
  • px,em,rem的区别
  • 组件样式不影响其他部分的样式,怎么做
  • js实现继承
  • js内存泄漏出现的原因
  • routeroute router区别
  • 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); // 1
digPow(92, 1); // -1
digPow(695, 2); // 2
digPow(46288, 3); // 51
  • 代码题 写函数countZero,接受⼀个参数 n,得到 n! (n 的阶乘) 末尾出现连续 0 的个数 (注意js计算精度)
countZero(5); // 1 for "120"
countZero(10); // 2 for "3628800"
countZero(20); // 4
countZero(100); // 24
  • 代码题 设计函数maxSequence,接受⼀个参数 list,来尝试解决 "最⼤⼦数组和问题"
 maxSequence([]) // 0
maxSequence([-2, -3, -4, -1, -10]) // 0 for "all negative number"
maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4]) // 6 for "[4, -1, 2, 1]"
maxSequence([1, -3, 3, 2, -1, 4, -2]) // 8 for "[3, 2, -1, 4]"

面试

  • 自我介绍
  • 为啥转行,读了哪些书,怎么学习的
  • 考研考了哪些科目,考的哪个学校
  • 做的项目,遇到的困难
  • 营销模板,可视化搭建的流程
  • 项目开发流程,需求-开发-测试-上线过程,沟通问题
  • git的commit有规范吗,团队eslint配置做过没
  • 跨域问题,nginx配置过吗(开始吹牛!)
  • 做需求碰到问题怎么办
  • label checkbox绑定
  • script标签async和defer
  • srcset属性
  • css选择器优先级
  • 样式冲突问题解决方法
  • 函数字面量和function声明的区别
  • 系统解决兼容性问题的方法
  • 如何深度比较两个对象是否相同
  • 一个函数,要缓存它的结果,怎么做
  • attribute和property的区别

HR面

  • 自我介绍
  • 为什么做前端
  • 离职原因
  • 做to B的业务,是否会觉得无聊
  • 你的缺点是什么,性格上的
  • 你的最失败一段经历的是什么
  • 对公司的了解