前言
昨天有幸去字节面试了,顺便拿到了offer,把还记得的东西写下来,供大家参考一下。
字节跳动(校招)
一面:
- 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实现两栏布局,左边固定宽度,右边自适应
- 算法字符串解码
框架相关
原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。
在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由