interview browser

1. 浏览器渲染流程?

2. 浏览器主要组成部分?

3. 浏览器的缓存策略?

4. 前端需要注意哪些SEO?

5. 如何兼容低版本的浏览器?

6. 浏览器跨标签页通讯方式

6.1 BroadCast Channel

6.2 Service worker

6.3 LocalStorage window.onstorage 监听

6.4 Shared Worker 定时器轮询(setInterval)

6.5 IndexedDB 定时器轮询(setInterval)

6.7 window.open window.postMessage

6.8 Websocket

interview engineering

1. 前端模块化、工程化、组件化的理解?

2. webpack 和 gulp 区别?

3. webpack 里面的核心概念?

4. export 和 export default 区别?

5. webpack 打包原理?

6. webpack 热更新原理?

7. webpack 可以进行的优化?

8. npm 模块安装机制?

interview javascript

1. 数组去重方法?

2. new 操作符都做了什么?

3. 类的继承?

4. this 的指向问题? 如何改变 this 指向?

5. 事件循环(宏任务、微任务)?

6. 事件监听?

7. 事件委托和冒泡原理?

8. 阻止事件冒泡、默认行为?

9. JS中的继承实现?

10. JS的数据类型?

11. 强制类型转换?

12. 判断数据类型方法?

13. 判断数组和对象?

14. 原型和原型链?

15. 作用域和作用域链?

16. 闭包,应用场景,缺点和好处?

17. 内存泄漏?

18. JS垃圾回收机制?

19. 深拷贝和浅拷贝?

20. ES6 新增特性?

21. 箭头函数特点?

22. ES6为什么新增promise?promise的理解?

23. async、 await?

24. var、let、const?

25. proxy 代理对象?

26. 防抖、节流

27. 冒泡排序?

28. sort排序?

29. 数组降维?

30. 两个数据求交集或合并?

31. 去除字符串中的空格?

32. 实现一个 sleep 函数?

33. 继承的方式(继承的实现)

34. 函数柯里化

35. 如何编写高性能的 JS 代码?

interview html

1. src 和 href 的区别?

特定元素的属性
src:通常用于img, script, video, audio元素,指定外部资源的地址
href:通常用于a, link元素,标识文档中引用的的超文本

2. html 语义化的理解?

  1. 用正确的标签做正确的事
  2. 在没有css样式的情况下,页面也能以一种文档格式显示
  3. 可以让页面结构化,便于浏览器和搜索引擎解析,有利于SEO
  4. 方便其他设备解析(屏幕阅读器…)
  5. 便于开发维护,语义化代码更具有可读性

3. web 标准、W3C 的理解?

4. html5 新特性,移除哪些元素?

  1. 语义化更好的标签:header, footer, aside, section, nav
  2. 媒介回放:video, audio
  3. 画布canvas
  4. 表单控件:date, email, search, url
  5. 拖拽释放
  6. 新技术:websocket, webworker
  7. 本地离线缓存:localStorage, sessionStorage

移除的元素:

  • 纯表现的元素:basefont 、 big 、 center 、 font 、 s 、 strike 、 tt 、 u
  • 可用想产生负面影响的元素:frame 、 frameset 、 noframes

5. html 全局属性(global attribute)?

每个html元素都有的属性

  1. class
  2. id
  3. style
  4. draggable (拖拽)
  5. lang
  6. title
  7. 自定义属性 data-*

6. 行内元素和块级元素的区别、转换?空元素?

行内元素:span, a, input, b, em, i, strong
特点:

  • 共享一行
  • 高度、行高、内外边距不可控
  • 宽度就是文字或者图片的宽度,不能改变
  • 只能容纳行内元素或者文本内容

块级元素:div, p, H1-H6, ul-li, header, footer, table
特点:

  • 独占一行
  • 高度、行高、内外边距都可控
  • 宽度默认是容器的100%
  • 可以容纳行内元素和块级元素

两者转换可以通过display属性设置:block, inline, inline-block

7. 锚点?

锚点(anchor)是一种特殊的链接

在HTML中,通过元素的id属性设置锚点,可以定位到页面特定的位置

1
2
3
4
5
6
7
8
<h2 id="h2">锚点</h2>

...
<!-- 中间内容省略 -->
...

<a href="#h2">回到锚点位置</a>

8. SEO中的TDK?

在SEO中所谓的TDK就是指:title、description、keywords

title: 标题标签
description:描述标签
keywords:关键字标签

9. 严格模式和混杂模式?

严格模式:html会按照浏览器支持的最高标准进行运行

混杂模式:html会按照向下兼容的方式运行,可以用来模拟老式浏览器的行为

interview vue

1. MVVM 的理解?

2. vue 双向数据绑定原理?

3. 数据响应式原理?

4. v-model 双向绑定原理?

5. 虚拟DOM?

6. vue生命周期?

7. vue组件通信?

8. vue 中的data为什么是函数?

9. vue-router

9.1 hash模式、history模式区别?

9.2 $router、$route 区别?

9.3 导航守卫?

9.4 vueRouter 完整的导航解析流程

10. vuex?

11. vue-cli 工程中用到的技术?

12. v-if、v-show 区别?

13 插槽、作用域插槽?

14. keep-alive?

15. nextTick?

16. vue 的 SSR?

17. vue 中的性能优化?

18. vue2和vue3的区别?

interview network

1. 同源策略?

2. 跨域解决办法?

3. TCP 连接过程?

4. 如何实现Token加密?

5. 网络的五层模型?

6. get、post 的区别?

7. cookie、Session Storage、Local Storage 的区别?

8. HTTP 请求的方法?

9. 优化网络性能的方法?