知乎实习面经

1,289 阅读3分钟

技术一面

1. 简单的自我介绍。

2. 简单说一下 BFC 块级格式化上下文。

3. 有接触过闭包吗? 说一下对闭包的理解?

4. 手写函数节流和函数防抖,说明区别和应用场景?

5. 箭头函数有用过吗?箭头函数与普通函数有什么区别?

6. 箭头函数的实现原理?

7. 说一下 this 指向问题?

8. 说一下事件捕获和事件冒泡及应用场景?

9. 手写数组去重和反转数组(多种方法)及数组扁平化。

10. new 一个对象的时候发生了什么?

11. 什么是跨域,以及如何解决跨域问题?

12. get 和 post 的区别?

13. HTTP 和 HTTPS 的区别?

13. Cookie、SessionStronge、LocalStronge 的区别?

14. promise 了解吗? promise 的 then 在事件循环中属于哪一部分?

15. 通过 async 和 await 实现 promise 的 all 方法?

16. 说一下Vue的生命周期?

17. Vue组件间是如何通信的?

18. $emit() 的原理?


技术二面

1. 简单的自我介绍,介绍一下你的项目,技术栈?

2. React 和 Vue 的比较?

3. HTTP 报文有哪些字段? 有什么意义?

4. 简述从网页中输入 URL 到网页展示的过程发生了哪些事情?

5. 浏览器事件有哪些过程? 为什么一般在冒泡阶段,而不是在捕获阶段注册监听? addEventLister 参数分别是什么?

6. 移动端高清方案如何解决?

7. 移动端 300ms 延时的原因? 如何处理?

8. webpack 的原理,loader 和 plugin 是干什么的? 有自己手写过吗?

9. SSR 和客户端渲染有什么区别?

10. vue 是如何实现绑定事件的?

11. 主流框架的数据单向/双向绑定实现原理?

12. DIFF 算法为什么是 O(n) 复杂度而不是 O(n^3) ?

13. 了解浏览器事件环吗?

14. Vue 中为什么需要使用 Key ?

15. Vue 的虚拟 DOM 实现 ?


技术三面

1. 如何自学前端的,学习途径? 有没有一些自己的代码?

2. 正则表达式如何匹配一段 url ? 在正则表达式中有哪几种作用?

3. 简述前端工程化,以及介绍自己项目中工程化的实践?

4. TCP 三次握手的过程, GET 和 POST 请求的区别?

5. 前端跨域方案?

6. 移动端 rem 布局如何实现? 简述原理?

7. 移动端如何实现下拉到底部 跟随移动 结束后回弹的动画?

8. 移动端如何优化首屏白屏时间过长?

9. Rollup 和 webpack 的区别,treeshaking 是什么?

10. ES6 generator 函数简述?

11. 算法题

/**
* 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每一个节点只能存储 一位 * 数字。
* 
* 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
*
* 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
*
* 示例:
*
* 输入:(2 -> 4 -> 3)+(5 -> 6 -> 4)
* 输出: 7 -> 0 -> 8
* 原因: 342 + 465 = 807
*
*/

/**
* Definition for singly-linked list.
* function ListNode(val) {
* 	this.val = val
* 	this.next = null
* }
*/

/**
* @param {ListNode} l1
* @param {ListNode} l2
* @return {ListNode}
*/
const addTwoNnumbers = function(l1, l2) {

}

12. 杨辉三角

/**
* 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
*
* 在杨辉三角中,每个数是它左上方和右上方的数的和。
*
* 示例:
* 
* 输入: 5
* 输出: 
* [
* 	[1],
* 	[1, 1],
* 	[1, 2, 1],
* 	[1, 3, 3, 1],
* 	[1, 4, 6, 4, 1]
* ]
*
*/

/**
* @param {number} numRows
* @return {number[][]}
*/
const generate = function(numRows) {

}

13. 最后聊了一下项目,聊了一下目前公司


HR 面

1. 对未来有一个怎样的规划?

2. 对薪水自己有怎样的期待?

3. 何时入职?

4. 你还有什么想要了解的吗?