2018 浅谈前端面试那些事

虽然今年没有换工作的打算
但为了跟上时代的脚步
还是忍不住整理了一份最新前端知识点

知识点汇总

1.HTML

HTML5新特性,语义化
浏览器的标准模式和怪异模式
xhtml和html的区别
使用data-的好处
meta标签
canvas
HTML废弃的标签
IE6 bug,和一些定位写法
css js放置位置和原因
什么是渐进式渲染
html模板语言
meta viewport原理

2.CSS

盒模型,box-sizing
CSS3新特性,伪类,伪元素,锚伪类
CSS实现隐藏页面的方式
如何实现水平居中和垂直居中。
说说position,display
请解释*{box-sizing:border-box;}的作用,并说明使用它的好处
浮动元素引起的问题和解决办法?绝对定位和相对定位,元素浮动后的display值
link和@import引入css的区别
解释一下css3的flexbox,以及适用场景
inline和inline-block的区别
哪些是块级元素那些是行级元素,各有什么特点
grid布局
table布局的作用
实现两栏布局有哪些方法?
css dpi
你知道attribute和property的区别么
css布局问题?css实现三列布局怎么做?如果中间是自适应又怎么做?
流式布局如何实现,响应式布局如何实现
移动端布局方案
实现三栏布局(圣杯布局,双飞翼布局,flex布局)
清除浮动的原理
overflow:hidden有什么缺点?
padding百分比是相对于父级宽度还是自身的宽度
css3动画,transition和animation的区别,animation的属性,加速度,重力的模拟实现
CSS 3 如何实现旋转图片(transform: rotate)
sass less
对移动端开发了解多少?(响应式设计、Zepto;@media、viewport、JavaScript 正则表达式判断平台。)
什么是bfc,如何创建bfc?解决什么问题?
CSS中的长度单位(px,pt,rem,em,ex,vw,vh,vh,vmin,vmax)
CSS 选择器的优先级是怎样的?
雪碧图
svg
媒体查询的原理是什么?
CSS 的加载是异步的吗?表现在什么地方?
常遇到的浏览器兼容性问题有哪些?常用的hack的技巧
外边距合并
解释一下“::before”和“:after”中的双冒号和单冒号的区别

3.JS

js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
JS常见的dom操作api
解释一下事件冒泡和事件捕获
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
call,apply,bind
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
创建对象的多种方式
实现继承的多种方式和优缺点
new 一个对象具体做了什么
手写Ajax,XMLHttpRequest
变量提升
举例说明一个匿名函数的典型用例
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
attribute和property的区别
document load和document DOMContentLoaded两个事件的区别
=== 和 == , [] === [], undefined === undefined,[] == [], undefined == undefined
typeof能够得到哪些值
什么是“use strict”,好处和坏处
函数的作用域是什么?js 的作用域有几种?
JS如何实现重载和多态
常用的数组api,字符串api
原生事件绑定(跨浏览器),dom0和dom2的区别?
给定一个元素获取它相对于视图窗口的坐标
如何实现图片滚动懒加载
js 的字符串类型有哪些方法? 正则表达式的函数怎么使用?
深拷贝
编写一个通用的事件监听函数
web端cookie的设置和获取
setTimeout和promise的执行顺序
JavaScript 的事件流模型都有什么?
navigator对象,location和history
js的垃圾回收机制
内存泄漏的原因和场景
DOM事件的绑定的几种方式
DOM事件中target和currentTarget的区别
typeof 和 instanceof 区别,instanceof原理
js动画和css3动画比较
JavaScript 倒计时(setTimeout)
js处理异常
js的设计模式知道那些
轮播图的实现,以及轮播图组件开发,轮播10000张图片过程
websocket的工作原理和机制。
手指点击可以触控的屏幕时,是什么事件?
什么是函数柯里化?以及说一下JS的API有哪些应用到了函数柯里化的实现?(函数柯里化一些了解,以及在函数式编程的应用,最后说了一下JS中bind函数和数组的reduce方法用到了函数柯里化。)
JS代码调试

4.ES6

谈一谈 promise
所有的 ES6 特性你都知道吗?如果遇到一个东西不知道是 ES6 还是 ES5, 你该怎么区分它
es6的继承和es5的继承有什么区别
promise封装ajax
let const的优点

let与const都是只在声明所在的块级作用域内有效。
let声明的变量可以改变,值和类型都可以改变,没有限制。
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。

es6 generator 是什么,async/await 实现原理
ES6和node的commonjs模块化规范区别
箭头函数,以及它的this

5.计算机网络

HTTP协议头含有哪些重要的部分,HTTP状态码
网络url输入到输出怎么做?
性能优化为什么要减少 HTTP 访问次数?
Http请求的过程与原理
https(对是https)有几次握手和挥手?https的原理。
http有几次挥手和握手?TLS的中文名?TLS在哪一网络层?
TCP连接的特点,TCP连接如何保证安全可靠的?
为什么TCP连接需要三次握手,两次不可以吗,为什么
为什么tcp要三次握手四次挥手?
tcp的三次握手和四次挥手画图(当场画写ack 和 seq的值)?
tcp与udp的区别
get和post的区别?什么情况下用到?
http2 与http1 的区别?
websocket
什么是tcp流,什么是http流
babel是如何将es6代码编译成es5的
http2的持久连接和管线化
域名解析时是tcp还是udp
域名发散和域名收敛
Post一个file的时候file放在哪的?
HTTP Response的Header里面都有些啥?

6.浏览器相关

跨域,为什么JS会对跨域做出限制
前端安全:xss,csrf…
浏览器怎么加载页面的?script脚本阻塞有什么解决方法?defer和async的区别?
浏览器强缓存和协商缓存
浏览器的全局变量有哪些
浏览器同一时间能够从一个域名下载多少资源
按需加载,不同页面的元素判断标准
web存储、cookies、localstroge等的使用和区别
浏览器的内核
如何实现缓存机制?(从200缓存,到cache到etag再到)
说一下200和304的理解和区别
什么是预加载、懒加载
一个 XMLHttpRequest 实例有多少种状态?
dns解析原理,输入网址后如何查找服务器
服务器如何知道你?
浏览器渲染过程
ie的某些兼容性问题
session
拖拽实现
拆解url的各部分

7.工程化

对webpack,gulp,grunt等有没有了解?对比。
webpack的入口文件怎么配置,多个入口怎么分割。
webpack的loader和plugins的区别
gulp的具体使用。
前端工程化的理解、如何自己实现一个文件打包,比如一个JS文件里同时又ES5 和ES6写的代码,如何编译兼容他们

8.模块化

对AMD,CMD,CommonJS有没有了解?
为什么要模块化?不用的时候和用RequireJs的时候代码大概怎么写?
说说有哪些模块化的库,有了解过模块化的发展的历史吗?
分别说说同步和异步模块化的应用场景,说下AMD异步模块化实现的原理?
如何将项目里面的所有的require的模块语法换成import的ES6的语法?
使用模块化加载时,模块加载的顺序是怎样的,如果不知道,根据已有的知识,你觉得顺序应该是怎么样的?

9.框架

使用过哪些框架?
zepto 和 jquery 是什么关系,有什么联系么?
jquery源码如何实现选择器的,为什么$取得的对象要设计成数组的形式,这样设计的目的是什么
jquery如何绑定事件,有几种类型和区别
什么是MVVM,MVC,MVP
Vue和Angular的双向数据绑定原理
Vue,Angular组件间通信以及路由原理
react和vue的生命周期
react和vue的虚拟dom以及diff算法
vue的observer,watcher,compile
react和angular分别用在什么样的业务吗?性能方面和MVC层面上的区别
jQuery对象和JS的Element有什么区别
jQuery对象是怎么实现的
jQuery除了它封装了一些方法外,还有什么值得我们去学习和使用的?
jQuery的$(‘xxx’)做了什么事情
介绍一下bootstrap的栅格系统是如何实现的

10.Nodejs

对nodejs有没有了解
Express 和 koa 有什么关系,有什么区别?
nodejs适合做什么样的业务?
nodejs与php,java有什么区别
Nodejs中的Stream和Buffer有什么区别?
node的异步问题是如何解决的?
node是如何实现高并发的?
说一下 Nodejs 的 event loop 的原理

11.数据结构

基本数据结构:(数组、队列、链表、堆、二叉树、哈希表等等)
8种排序算法,原理,以及适用场景和复杂度
说出越多越好的费波拉切数列的实现方法?

12.性能优化

cdn的用法是什么?什么时候用到?
浏览器的页面优化?
如何优化 DOM 操作的性能
单页面应用有什么SEO方案?
单页面应用首屏显示比较慢,原因是什么?有什么解决方案?

13.其他

正则表达式
前端渲染和后端渲染的优缺点
数据库的四大特性,什么是原子性,表的关系
你觉得前端体系应该是怎样的?
一个静态资源要上线,里面有各种资源依赖,你如何平稳上线
如果要你去实现一个前端模板引擎,你会怎么做
知道流媒体查询吗?
SEO
mysql 和 mongoDB 有什么区别?
restful的method解释
数据库知识、操作系统知识
click在ios上有300ms延迟,原因及如何解决
移动端的适配,rem+媒体查询/meta头设置
移动端的手势和事件;
unicode,utf8,gbk编码的了解,乱码的解决

14.开放性问题

你都看过什么书?最近在看什么书?
用过什么框架?有没有看过什么框架的代码?
有没有学过设计模式?
说一说观察者模式吧!能不能写出来?
你最大的优点是什么?那你最大的缺点呢?
你除了写博客还有什么输出?
现在你的领导给你了一份工作,要求你一个星期完成,但你看了需求以后估计需要3周才能完成,你该怎么办?
平时关注的前端技术
如何规划自己的职业生涯
项目过程中,有遇到什么问题吗?怎么解决的?
最近在研究哪方面的东西?
请介绍一项你最热爱、最擅长的专业领域,并且介绍的学习规划。
请介绍你参与的印象最深刻的一个项目,为什么?并且介绍你在项目中的角色和发挥的作用。

15.HR面

你为什么要学习前端?
你平时的是怎么学习前端的?有什么输出?
你觉得自己最好的项目是什么?
身边比较佩服的人有什么值得你学习的?你为什么没有跟他们一样?
同事的什么问题会让你接受不了
压力最大的事情是什么?
身边的朋友通常对你的评价是什么
喜欢什么样的工作氛围
如何看待加班
有没有对象
意向城市
其他的offer
为什么要录取你?
周末都会干什么?
未来职业规划

原文地址:https://www.cnblogs.com/baimeishaoxia/p/11966257.html

时间: 2024-08-03 10:57:11

2018 浅谈前端面试那些事的相关文章

浅谈前端性能优化(移动端)

上一篇讲了PC端的部分:前端性能优化(PC端),这次继续说移动端的.相对于PC端的,移动web浏览器上有一些明显的特点:设备的屏幕小.新特性兼容性较好.支持一些比较新的HTML5和CSS3.需要与Native应用交互等.但移动端可用的CPU资源和网络资源极为有限,因此要做好移动端web上的优化往往需要考虑做更多的事情.首先在移动web的前端页面渲染中,PC的优化规则同样适用,此外针对浏览器也要做一些更细节的优化达到更好的效果.需要注意的是,并不是移动端的优化在PC端不适用,而是由于兼容性的原因,

浅谈 kubernetes service 那些事(上篇)

欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8s service 什么是service 是发现后端pod服务: 是为一组具有相同功能的容器应用提供一个统一的入口地址: 是将请求进行负载分发到后端的各个容器应用上的控制器. 对service的访问来源 访问service的请求来源有两种:k8s集

浅谈 kubernetes service 那些事

说明 关于 k8s 服务这一块知识,我之前的博文中有些实例应用和说明.下面分享几位大佬的文章,加固对 service 这块有更深的理解- 分享 浅谈 kubernetes service 那些事 本文详细介绍了 k8s service 实现原理和新特性,值得深度拜读和理解- K8s Deployment YAML 名词解释 本文对 Deployment yaml 名词进行了详细解释,值得参考学习- 使用 k8s 部署你的第一个应用: Pod,Deployment 与 Service 通过简单的

浅谈iOS面试所遇问题

今天面试的公司之前在百科搜索了解了一些信息,一家专业拉手媒体运营商,付费通方便了用户出行,很喜欢公司的氛围. 言归正传,面对面试官的时候还是多少会有点小紧张,有几个问题回答的也是很笼统,现在做出总结.如下: 自我面试轻轻飘过~ 这个是常识 个人信息稍作了解,常识+1 浅谈MVC框架设计模式 浅谈单例设计模式 KVC/KVO Switch开关点击出错(on状态点击依旧on状态,解决方法) cell单元格重用出现的错误(解决方法) 怎样实现代理传值 怎样实现ImageView的点击事件处理 HTTP

浅谈前端移动端页面开发(布局篇)

前言的一些碎碎念:最近一直在写移动端的页面,不过一直是用的别人造好的轮子,很多时候并没有想那是为什么,那是怎么样要那么写,就跟着别人的文档去了.本以为自己对移动端的那一丢丢理解,结果很多东西都特么有问题,所以,今天停下了手中的一些东西,来谈下移动端的布局方案吧 内容有些长,这也是我第一次写博客,不足之处还请严厉指出 一. viewport 什么是viewport 简单来讲,viewport就是浏览器上,用来显示网页的那一部分区域了,也就是说,浏览器的实际宽度,是和我们手机的宽度不一样的,无论你的

浅谈前端自动化构建

前言 现在的前端开发已经不再仅仅只是静态网页的开发了,日新月异的前端技术已经让前端代码的逻辑和交互效果越来越复杂,更加的不易于管理,模块化开发和预处理框架把项目分成若干个小模块,增加了最后发布的困难,没有一个统一的标准,让前端的项目结构千奇百怪.前端自动化构建在整个项目开发中越来越重要. 我们首先来回想一下之前我们是如何来开始做一个项目的. ① 首先要确定这个项目要使用什么样的技术来实现,然后开始规划我们的项目目录,接着就要往项目增加第三方库依赖,比如: 拷贝 CSS库(Yui Reset |

浅谈前端开发行业背景

自从第一个网站在上个世纪 90 年代初诞生以来,早期的网页完全由文本构成,除了一些小图片和毫无布局可言的标题与段落.然而,时代在进步,接下来出现了表格布局,然后是 Flash,最后是基于 CSS 的网页设计.无可否认,前端页面重构技术也经历着这样的一个过程:table布局页面→DIV+CSS→HTML5+CSS3,seo面对众多的浏览器与平台,Web前端不再是以前那样简单的重复性工作.下面让我们对Web前端开发行业的发展有一个简短的认识. 回首Web前端开发的过去,1991 年 8 月,Tim

浅谈前端技术中的贝赛尔曲线

我胡汉三又回来了!闲话不多说,我们直奔主题.关于贝赛尔曲线的概述这就不说了,这里来介绍一下前端中的三种应用,分别是用在了CSS3(transition).Canvas.SVG.以下贝塞尔曲线均指三次贝塞尔. 一.CSS3 这里贝塞尔其实是以transition动画的进行速度方式的角色出现的.大家都知道transition动画的timing-function默认为ease(慢-快-慢),用的比较多的也就是linear(匀速变化).有了贝塞尔曲线,我们可以定制自己想要的transition的timi

转载:浅谈前端与SEO

SEO(Search Engine Optimization),就是传说中的搜索引擎优化,是指为了增加网页在搜索引擎自然搜索结果中的收录数量以及提升排序位置而做的优化行为. SEO的实施方法:前端的工作主要是负责页面的HTML+CSS+JS,优化好这几个方面会为SEO工作打好一个坚实的基础. title:只强调重点即可,重要关键词出现不要超过2次,而且要靠前,每个页面title要有所不同. description:把网页内容高度概括到这里,长度要合理,不可过分堆砌关键词,每个页面descript