5 / 3 趁假期,写下近20天的面试总结

前面的话

从投简历到现在差不多有20天的面试时间,春招也接近了尾声,小柒这里总结一下。

总的来说,对于实习生来说,考的最多的还是前端基础,其次就是计网、数据结构、操作系统这些专业知识,还有一点算法(不说要达到可以竞赛的水平,基本算法思想:双指针、排序、分冶、动态规划、二叉树、链表、栈和队列等要了解)。

总之复习还得全面,知识掌握的要扎实,不能仅仅是背一下面经那么简单,面试官稍微问深一点就答不上来了,这样肯定是不行的。面试过程中除了考基础知识外,还会考一些发散性的问题,对于发散性问题,一定要给面试官一个思路,不一定要是最好的,但一定要有。

PS: 问题大概都列出来了,可能漏掉了少部分问题,总的来说还是比较全的(记起来再补)。

HTML(5)
  • HTML语义化的理解
  • DOCTYPE的作用
  • 标准模式与怪异模式的区别
  • 说一下文档流
  • 行内元素、块级元素、行内块级元素、空元素
  • html5的新特性
  • 描述 cookies,sessionStorage 和 localStorage 的区别
  • iframe 内嵌框架有那些缺点
  • 说一下 webWorker、 webSocket
CSS(3)
  • 盒模型: 标准模型与IE模型
  • 权重问题
  • css选择符有哪些
  • css中哪些属性可以被继承:字体系列font-family、font-size、font-weight等;文本系列:list-style、list-style-color等;文本系列:text-align、color、line-height等
  • box-sizing常用的属性
  • link与@import区别
  • a标签的4个伪类的正确顺序,并解释
  • 清除浮动的方式
  • position的属性值:static、relative、absolute(脱离文档流)、fixed(脱离文档流);absolute相对定位的
  • z-index:只对脱离文档流的元素有效
  • flex布局: 父元素设为Flex布局后,子元素的float、clear、vertical-align属性将失效。
  • BFC、触发条件、可解决的问题
  • IFC是什么
  • 两栏布局:float + margin; calc; position + margin(或者transform) ;flex等
  • 三栏布局:float + margin; position + margin; flex; 圣杯;双飞翼等
  • 如何实现水平垂直居中
  • 伪类和伪元素的区别: 伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档树外的元素
  • 浏览器是怎样解析 CSS 选择器的?(从右向左)
  • px、em、rem的区别
  • CSS创建一个三角形
  • CSS 动画 与 js 动画区别
  • CSS3新特性:圆角(border-radius)、阴影(box-shadow)、动画、渐变(gradient)、转换(transform:translate / scale/ skew)
  • CSS3新增伪类
js
  • js数据类型
  • 数据类型的内存图
  • var a = 1; a = “str”; a 的内存空间如何变化
  • =====的区别
  • null 和 undefined 的区别
  • 原型、原型链
  • 作用域、作用域链
  • 闭包及其作用
  • 使用闭包实现每秒打印1,2,3,4
  • 继承的几种方式、寄生组合继承的实现
  • es6 继承与es5 继承的区别
  • 箭头函数与普通函数的区别
  • this的理解
  • call、apply、bind的区别
  • 深浅拷贝
  • 事件流、事件委托(事件委托我们可以不必要为每一个子元素都绑定一个监听事件,这样减少了内存上的消耗)
  • js 延迟加载的方式
  • ajax是什么?
  • 浏览器和 Node.js 的事件循环机制有什么区别?
  • 同步与异步、宏任务与微任务
  • 模块规范(commonJS、es6 、AMD、CMD)
  • typeof NaN 的结果是什么、isNaN与Number.isNaN函数的区别
  • 如何判断变量类型
  • js 的节流与防抖
  • 布尔类型的值的转换规则 :假值(undefined、null、false、+0 、-0、""、NaN)
  • {} 和 [] 的 valueOf 和 toString 的结果是什么
  • js 类数组的定义、类数组如何转换为数组
  • 如何判断数组
  • JavaScript 与 Java 的区别
  • js 的垃圾回收 与 v8 的垃圾回收
  • 哪些操作会照成内存泄漏
  • 0.1 + 0.2 != 0.3 如何解决
  • 图片懒加载与预加载
  • JavaScript 中数组是如何存储的?
  • JavaScript 中的数组为什么可以不需要分配固定的内存空间?(追加)
  • JavaScript 中数组的存储和 C / C++ / Java 中数组的存储有什么区别?(追加)
ES6
  • let 、const 与 var的区别
  • Iterator和for…of
  • Symbol 类型
  • Set 与 WeakSet 、Map 与 WeakMap
  • 什么是 Proxy
  • 说一说 promise?promise的各种api
  • Generator及其异步方面的应用
  • 说一说 async / await
  • class基本语法及继承
Vue
  • 说一说对 Vue 的理解
  • MVVM 模式的优缺点,与 MVC 的区别
  • Vue 的生命周期(详细介绍)
  • 一般在哪个生命周期里请求接口
  • Vue 的组件通信
  • Vue 双向绑定的原理
  • Vue 中是如何检测数组的变化
  • Vue 组件中的data为什么要写成函数形式
  • nextTick 是做什么用的,其原理是什么
  • Vue 的模板编译原理
  • computed 与 watch 的差异
  • vue-router 中的导航钩子
  • $route 与 $router 的区别
  • vue-router的两种模式
  • Vue中 key 值的作用
  • Vue中常见的修饰符
  • Vue中常用的指令
  • v-show 与 v-if 的区别
  • keep-alive 组件的作用
  • 说一下 Vuex
  • Vue的虚拟dom
  • Vue 中的slot 与 slot-scope
Webpack
  • Webpack 是什么?
  • Webpack 与 gulp 的区别?
  • Webpack 构建流程
  • Webpack 的优化
  • 热更新的原理
  • loader 与 plugins 的区别
  • 常用的 loader 与 plugin
  • 是否自己写过loader 或者 plugin
浏览器
  • 浏览器缓存
  • 浏览器的同源策略
  • 跨域
  • 浏览器的渲染
  • 回流为什么比重绘更消耗性能
  • 浏览器的进程与线程
  • cookie、session、token的区别
  • 输入url 后发生了什么
网络
  • TCP/IP 四层模型 、OSI七层模型、每一层的有哪些常见的协议
  • TCP 与 UDP 的区别
  • TCP 的 三次握手与四次挥手(为什么是三次? 为什么是四次?)
  • TCP 的 流量控制与拥塞控制
  • TCP 可靠传输
  • TCP 滑动窗口
  • HTTP 的请求方法
  • GET 与 POST的区别
  • HTTP 常见的请求头
  • HTTP 状态码
  • HTTP 报文格式
  • HTTP1.0 、HTTP1.1 、HTTP 2.0
  • HTTP 与 HTTPS 的区别 、HTTPS的握手过程
  • HTTPS中的三个随机数是如何生成会话密钥的
  • HTTP 缓存:强缓存与协商缓存
操作系统
  • 进程、线程
  • 进程之间的通信方式
  • 线程的哪些资源共享?哪些资源不共享
  • 死锁
安全
  • XSS 攻击及如何防范
  • CSRF 攻击及如何防范
  • SQL 注入攻击
  • DOS 攻击
手写原理
  • new 操作符具体干了什么
  • instanceof 的实现
  • 实现原生ajax
  • 原生jsonp
  • 实现 call、apply、bind
  • 实现节流与防抖
  • 实现深浅拷贝
  • 实现函数柯里化
  • 实现数组去重
  • 实现数组扁平化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值