前言
朋友可能真的是水逆了,这段时间去参加的面试不是面试官笑着婉拒着,就是hr那没音讯了,这不去面试了快手,好不容易挺到了第三面,第三面面试题是:4个砝码,一个天平,问能称出多少种重量(砝码可以两边都放,砝码重量自己随便定),朋友看着这智力题就知道快手是无缘了。
面试还是要继续的,但也要学会分析问题、总结经验,才能更好的出发。小编把朋友面的面试题后面标明每一题的性质,也会给出一些参考思路。想知道我这“倒霉”朋友最后去了那家公司也可以关注小编哈哈哈哈,有情况就更新。
- 描述:对概念、过程的描述,纯理论性问答题为主
- 举例:说出应用场景,或者是自己团队实践的情况
- 伪代码:写代码,但不需要跑起来,甚至可以随便写伪代码,主要目的是描述思路
- 编程:真正的写代码,需要跑起来,有测试用例,要看到效果
1面
- react升到16,有什么坑需要解决【描述】
- 16后性能好多少,测过吗,你怎么测的。顺便问一下各种测速上报【描述】
- 为什么16的性能好,fiber流程是怎样的【描述】
- 为什么两个will生命周期要被标记为danger【描述】
- 用了react的哪些新特性,带来什么收益【举例】
- 浏览器http缓存那一套【描述】
- from memory cache、from dist cache什么区别,性能对比【描述】
- 根据什么而选from memory cache、from dist cache这两种缓存方案【描述】
- service worker怎么理解【举例】
- 输出一个字符串全排列【编程】
2面
- 项目深挖,反问一些问题【描述】【举例】
- react的setstate过程【描述】
- 说一下几种情况的setstate的输出,为什么【描述】
- react的合成事件【描述】
- 收到新state怎么更新,发生了什么事情【描述】
- ssr太久,你觉得什么原因导致【举例】
- ssr优化措施【举例】
- react的ssr和传统的模版引擎渲染对比【描述】
- ssr兜底容灾措施、降级措施【举例】
- 如何选择csr还是ssr,设计一套方案切换,让尽量多的用户得到最好的体验【举例】
- 有一个请求函数request,封装一下这个函数,使得多个相同的请求过来的时候不发请求,直接读取第一个的结果【编程】
- 有一个排序数组,返回第一个比目标数字小的数,要求log(n)【编程】
3面
- 4个砝码,一个天平,问能称出多少种重量(砝码可以两边都放,砝码重量自己随便定)【写出运算过程】
砝码重量自己随便定,就定一个理想化的情况,四个不一样的、且加起来也不存在重复的就行。如果你要考虑存在重量一样的两个砝码或者某些组合的和有相等的过程,那分类讨论够你折腾几个小时的。但面试只有20分钟,所以直接看理想状态的就行
学习笔记
为了让朋友重整旗鼓,小编整理了一套前端面试题资料给朋友看,希望她早日找到工作啦。小编也分享出来给小伙伴们,也希望着小伙伴们去面试好运连连噢!
需要完整版学习笔记的小伙伴们,往这里看,直接点击就可获取啦
HTML
- Doctype的作用?
- 标准模式和怪异模式的区别:
- 行内元素/块级元素/空元素有哪些?
- 介绍一下你对浏览器内核的理解?
- 常用浏览器的内核有哪些?
- 浏览器是怎么对HTML5的离线储存资源进行管理和加载的?
- 描述一下cookies/sessionStorage和localStorage的区别?
- HTML5新特性有哪些?如何处理HTML5新标签的兼容性问题?如何区分HTML和HTML5?
CSS
- 浏览器盒模型?
- 清除浮动的方式
- CSS选择器有哪些?哪些属性可以继承?
- ::after/:after与::before/:before的区别?
- CSS样式优先级计算法:
- CSS3新特性和伪类有哪些?
- less的一些优势。
- 如何居中div?
JavaScript
- JS是一种什么样的语言?
- JS数据类型有哪些?
- 介绍JS有哪些内置对象?
- 栈与堆的区别?
- js中的作用域与变量声明提升
- 如何转化类型?
- 什么是面向对象编程及面向过程编程,他们的异同和优缺点
- 面向对象编程思想
ES6
- 列举常用的ES6特性:
- 箭头函数需要注意哪些地方?
- let、const、var
- 拓展:var方式定义的变量有什么样的bug?
- Set数据结构
- 拓展:数组去重的方法
- 箭头函数this的指向。
- 手写ES6 class继承。
微信小程序
- 简单描述一下微信小程序的相关文件类型?
- 你是怎么封装微信小程序的数据请求?
- 有哪些参数传值的方法?
- 你使用过哪些方法,来提高微信小程序的应用速度?
- 小程序和原生App哪个好?
- 简述微信小程序原理?
- 分析微信小程序的优劣势
- 怎么解决小程序的异步请求问题?
其他知识点面试
- webpack的原理
- webpack的loader和plugin的区别?
- 怎么使用webpack对项目进行优化?
- 防抖、节流
- 浏览器的缓存机制
- 描述一下二叉树, 并说明二叉树的几种遍历方式?
- 项目类问题
- 笔试编程题:
最后
技术栈比较搭,基本用过的东西都是一模一样的。快手终面喜欢问智力题,校招也是终面问智力题,大家要准备一下一些经典智力题。如果排列组合、概率论这些基础忘了,建议回去补一下。
喜欢这篇文章的小伙伴们【点赞+评论】支持下哦,也别忘了分享给小伙伴们学习学习~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。