百度一面面经
1. 先做个自我介绍吧。
HTML/CSS
2. 浏览器里的页面,从上到下大概是个什么结构?
3. HTML 的 head 里,JS 一般有哪几种加载方式?
4. script 标签的 defer 和 async 有啥区别?
5. body 标签里常用的 HTML 标签有哪些?
6. 块级元素和行内元素有啥区别?
7. 怎么给一个行内元素设置宽高?
8. 怎么修改元素的显示属性,比如让行内元素有块级元素的特性?
9. display 属性有哪些常用的值?分别有啥用?
10. 用 Flex 布局怎么实现垂直居中?
11. 隐藏元素有哪些方法?
12. display: none 之后,元素还在 DOM 树里吗?
13. position 属性有哪些值?各自有啥特点?
14. position 的 absolute 和 relative 是怎么定位的?
15. 了解伪元素吗?比如 ::before 和 ::after?
JavaScript 基础
16. var、let、const 有啥区别?
17. 箭头函数的 this 指向是怎样的?
18. 如果在函数 B 里调用函数 A,那 A 的 this 指向谁?为啥?
19. 常见的 DOM 操作有哪些?
20. 怎么给一个 class 是 “text” 的元素里,插入一个 span 标签?
21. 浏览器渲染时,DOM 是怎么生成的?
22. 页面加载完 HTML、CSS、JS 后,整个解析过程是怎样的?
23. 重绘和重排有啥区别?
24. 浏览器的事件循环是怎样的?
前端框架与工程实践
25. 了解 Node.js 吗?你觉得 Node 环境下的 JS 有什么特点?
26. 结合 Vue 聊聊你对 MVVM 框架的理解?
27. Vue 里,数据变了之后,视图是怎么更新的?它怎么知道要更新哪些地方?
28. 你一般在什么场景下用 SSE?
29. SSE 和 WebSocket 分别是啥?有啥区别和联系?
30. 用 SSE 实现打字机效果时,如果数据返回有快有慢,怎么控制节奏?
31. 打字机效果里,如果数据里有图片信息,一般怎么处理?
32. 手撕:千分位格式化数字。