前端的兴起
前端真正兴起和开始频繁出现在大家的视线里,大概是在十年前。彼时的 Web 开发基本是由后端主导,前端能做的只是校验一下数据、操作一下 DOM。(其中数据检验是 JS 产生的根本原因:当时网络太慢,在服务端检验数据并反馈给用户,让用户知晓输入错误,这个流程太长、反应太慢,因此通过脚本在用户端完成第一步校验,既方便了用户,又减轻了带宽的压力。)即使 06 年 jQuery 发布并风靡全球,以及 XMLHttpRequest 被纳入 W3C 标准,也没有改变这种状况。制约它进度的原因很简单,因为很多事情前端 做不了 或者 做不好。随着时间的推移,近几年,Angular、Backbone、React、Vue 等框架陆续发布,让前端越来越正规化、体系化。此时虽然仍有很多事,前端 做不了 或者 做不好,但前端这个岗位却已变得热辣空前。那么,是什么推动着前端发展到如此大的规模和火热的程度?
字节跳动(校招)
一面:
- TCP、UDP是什么,区别,应用
- 什么是字节流,什么是数据报
- TCP为啥可靠
- 超时重传、累计确认的过程
- HTTP跟TCP的联系
- http通信过程
- http头部字段,平时在项目中有应用过吗,具体说一说
- Cookie、localStorage、sessionStorage用过吗?说一说他们的联系区别与应用
- 每次请求都会带cookie吗?什么时候会带
- cookie维持登录态是怎么做到的
- 你用cookie干过什么
- cookie保存在哪里
- 用户刷新界面后,服务端如何判断这个用户还在登录状态
- XSS与CSRF了解多少,原理,如何预防
- 算法:输入两个数字x,y;输出一个只包含字母a和字母b的随机字符串
要求:字符串中必须有x个a,y个b ;输出的字符串中不能出现aaa和bbb
二面:
- 由一个class引申出的众多问题
- 面试官给出了一个class定义的类,提问:找出其中错误的地方,为什么错了,改正
- 说一下new出的对象有哪些实例属性和方法以及原型属性和方法
- 说说console.log(window.B)输出什么(B是题中定义的class)
- 如果class中返回了一个1,会对new出的对象产生影响吗,为什么,什么时候会产生影响
- 如何在实例化一个对象时传参,考虑已知参数数量和未知两种情况(考察es6的扩展运算符···)
- for...of了解吗,哪些数据结构能用,如果我想用它遍历对象属性,怎么实现(
- LCA:寻找多叉树的最近的公共祖先节点
- 导出一个模块:要求该模块用localStorage实现cookie的过期功能
- 用for实现reduce
- 做过哪些项目,最大的收获是什么
- 接触前端多久了
- 介绍一下vue
- 说一下双向绑定原理
- v-if和v-show的区别
- 虚拟DOM,vue-router
- echarts用过哪些,他的实现有没有了解过
-
DOM和BOM介绍一下,他们的联系是什么
- 有没有用过fetch,get、post和put的区别
- 跨域的方法(越多越好)
- chrome调试工具都用过哪些功能
- CSS实现两栏布局,左边固定宽度,右边自适应
- 算法字符串解码
最后
四轮技术面+一轮hr面结束,学习到了不少,面试也是一个学习检测自己的过程,面试前大概复习了 一周的时间,把以前的代码看了一下,字节跳动比较注重算法,面试前刷了下leetcode和剑指offer, 也刷了些在牛客网上的面经。大概就说这些了,写代码去了~
祝大家都能收获大厂offer~
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
篇幅有限,仅展示部分内容