快来加入我们吧!
"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( xhs-rookies.com/ ) 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
面试系列不定期更新,请随时关注
前言
2021 年秋招马上来了,很多小伙伴也开始着手准备暑假实习、秋招。
但是又不知道面试会考哪些知识点,不知道如何准备面试,非常烦恼。
而且不同公司面试风格也不尽相同,有些公司偏向于网络方面的内容,有些公司偏向于JavaScript/ES6基础知识,有些公司啥都问,内容复杂且知识点广,对于小伙伴来说是一件很头疼的事情。
为此,我们争做排头兵,历时 62 天,共面试 20+公司,最终斩获 offer。
我们将我们面试的经历整理出来,准备了一整套面试题,包含面试涉及到的方方面面。并且我们还会开设专门的课题精讲,将那些重、难题目拿出来分析汇总,帮助大家进一步巩固知识。
最后,祝大家都可以斩获自己心仪的 offer !
汇总篇
我们这次面试 20+公司的面试题进行了归类和汇总。分类整理出以下几大模块:
JavaScript/ES6HTML+CSS- 框架相关(
react、vue等) - 网络及存储
- 浏览器/计算机基础知识
- 手写程序题/算法题
以上几个模块都有 10-20 余道面试题目,除此之外,我们还会为重点题目,重难知识点独立拿出来解析,为大家梳理逻辑,讲清内容。
我们会在后续几篇文章中将这几个模块的题目进行解析,敬请期待!
题目列表
JavaScript/ES6:
| JavaScript/ES6 |
|---|
| const 和 let 的区别 |
| 基本数据类型有哪几种 |
| 基本数据类型怎么判断 |
| typeof null 返回的是什么,为什么 |
| 闭包以及闭包的用法 |
| 遍历的方法有哪些 |
| for..in for..of 两者区别 |
| ES6 有哪些新特性 |
| 箭头函数和普通函数的区别。 |
| 什么是原型链 |
| 如何使用 Promise |
| Promise 原理是什么 |
HTML/CSS:
| html+css |
|---|
| flex 布局几个属性,如何使用。 |
| css3 相比于 css2 多了什么 |
| 什么是 BFC |
| 布局设计:顶部固定,下方滚动页面 |
| 怎么在一个盒子里面展示一个大小不定的图片(不能出现闪动) |
| 请说明 Html 布局元素的分类有哪些?描述每种布局元素的应用场景 |
| Html 标签 b 和 strong 的区别 |
| 说一下减少 Dom 数量的办法?一次加载大量 Dom 怎么优化 |
| Html5 有哪些新特性?如何处理新标签的浏览器兼容问题? |
| a 标签默认时间禁用后做了什么才能实现跳转 |
| meta 元素都有什么 |
框架(react、vue)
| 框架 |
|---|
| 虚拟 DOM(什么是虚拟 DOM,为什么会出现,用来干什么,哪些框架里面有?) |
| 双向绑定的实现原理,以及在 vue 中是如何实现的 |
| react 中的 diff 算法 |
| react 和 vue 的区别 |
| react 中 redux 思想以及使用 |
| react 常用的生命周期及其执行顺序 |
| react hooks 的作用到底是什么 |
| react router 什么作用,你怎么使用的 |
| react 中类组件和函数组件的区别 |
| redux 和 vuex 两者的认识和区别 |
网络及存储
| 网络/存储 |
|---|
| 什么是 HTTP 请求 |
| 什么是跨域 |
| 有哪几种解决跨域的方法,各自优劣性。 |
| jsonp 解决跨域问题原理和存在的问题 |
| http2 和 http1 的区别 |
| HTTPS 和 HTTP 区别 |
| GET 和 POST 到底有什么区别 |
| HTTP 里面的缓存机制 |
| 网络请求状态码 |
| OSI/TCP 模型有哪几个部分 |
| axios 实际上做了什么事情 |
| 如何解决 localstroage 的跨域问题 |
| cookie、localstroage、sessionstroage 区别 |
浏览器/计算机基础知识
| 浏览器/计算机基础知识 |
|---|
| 进程和线程的区别 |
| 为什么 JS 要设置为单线程 |
| CPU 进程调度 |
| Devops 敏捷开发 |
| CI/CD 自动集成 |
| 业务开发模型 SASS、PASS |
| 代理转发、代理缓存、服务器负载均衡 |
| 浏览器事件循环 |
| 什么时候触发浏览器的事件循环 |
| Script 的 async 和 defer 加载的区别 |
手写程序题/算法题
| 手写程序题/算法题 |
|---|
| 程序输出题目:构造函数与实例对象间的属性问题 |
| 程序编程题:flat、拍平数组、自己实现拍平数组的效果 |
| 程序编程题:自己实现 promise all |
| 程序编程题:自己实现 reducer |
| 程序编程题:URL 解析为对象 |
| 程序编程题:使用 settimeout 写一个 setinterval |
| 算法题:无重复字符最大子串的问题 |
| 算法题:二叉树的前中后遍历 |
| 算法题:迷宫问题 |
| 算法题:手写冒泡排序 |
| 算法题:不完全的二叉树的倒置 |
下节预告
下节我们将为大家带来 JavaScript / ES6 的面试题解,敬请期待!