[周汇总] 前端面试每日3+1(周汇总2019.06.16)

《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。
前端面试每日3+1题,以面试题来驱动学习,每天进步一点!
让努力成为一种习惯,让奋斗成为一种享受!

项目地址:
https://github.com/haizlin/fe-interview/issues


  • 学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布面试题(死磕自己,愉悦大家)。

  • 希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。

  • 在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)

  • 欢迎大家到Issues交流,鼓励PR,感谢Star,大家有啥好的建议可以加我微信一起交流讨论!

  • 希望大家每日去学习与思考,这才达到来这里的目的!!!(不要为了谁而来,要为自己而来!)

html

  • 有用过HTML5的webSQL和IndexedDB吗?说说你对它们的理解

  • src、href、link的区别是什么?

  • 有用地过WebGL吗?说说你对它的理解

  • HTML5相对于HTML4有哪些优势?

  • 你了解HTML5的download属性吗?

  • 渐进式渲染是什么?

  • HTML5中新添加的表单属性有哪些?

  • 你有了解HTML5的地理定位吗?怎么使用?

  • web workers有用过吗?能帮我们解决哪些问题?

  • From表单提交时为什么会刷新页面?怎么预防刷新?

  • Form表单是怎么上传文件的?你了解它的原理吗?

  • Ajax与Flash的优缺点分别是什么?

  • 说说你对target="_blank"的理解?有啥安全性问题?如何防范?

  • 说说你对WEB标准和W3C的理解与认识?

  • HTML5如何使用音频和视频?

  • 页面中怎么嵌入Flash?有哪些方法?写出来

  • xml与html有什么区别?

  • 说说video标签中预加载视频用到的属性是什么?

  • 如何让元素固定在页面底部?有哪些比较好的实践?

  • 解释下什么是ISISO8859-2字符集?

  • webSocket怎么做兼容处理?

  • html5都有哪些新的特性?移除了哪些元素?

  • title与h1、b与strong、i与em的区别分别是什么?

  • 说说你对cookie和session的理解

  • html5哪些标签可以优化SEO?

  • HTML与XHTML二者有不同?

  • 用一个div模拟textarea的实现

  • Standards模式和Quirks模式有什么区别?

  • html和html5有什么区别呢?

  • 说说你对HTML元素的显示优先级的理解

  • DOM和BOM有什么区别?

  • 网页上的验证码是为了解决什么问题?说说你了解的验证码种类有哪些

  • 说说你对<meta>标签的理解

  • 说说你对影子(Shadow)DOM的了解

  • 解释下你对GBK和UTF-8的理解?并说说页面上产生乱码的可能原因

  • 请说说<script><script async><script defer>的区别

  • 说说你对属性data-的理解

  • 关于<form>标签的enctype属性你有哪些了解?

  • js放在html的<body><head>有什么区别?

  • 谈谈你对input元素中readonly和disabled属性的理解

  • 请描述HTML元素的显示优先级

  • 说说你对html中的置换元素和非置换元素的理解

  • 怎样在页面上实现一个圆形的可点击区域?

  • 你认为table的作用和优缺点是什么呢?

  • 元素的alt和title有什么区别?

  • title与h1的区别、b与strong的区别、i与em的区别?

  • 为什么HTML5只需要写<!DOCTYPE HTML>就可以?

  • html5中的form怎么关闭自动完成?

  • 常见的浏览器内核都有哪些?并介绍下你对内核的理解

  • 你对标签语义化的理解是什么?

  • viewport常见设置都有哪些?

  • 浏览器内多个标签页之间的通信方式有哪些?

  • 简述下html5的离线储存原理,同时说明如何使用?

  • iframe框架都有哪些优缺点?

  • label都有哪些作用?并举相应的例子说明

  • 简述超链接target属性的取值和作用

  • HTML5的文件离线储存怎么使用,工作原理是什么?

  • HTML全局属性(global attribute)有哪些(包含H5)?

  • html的元素有哪些(包含H5)?

  • 页面导入样式时,使用link和@import有什么区别?

css

  • 怎样把一个div居中?怎样把一个浮动元素居中?怎样把绝对定位的div居中?

  • 用css画一个太阳

  • 你有用过哪些css框架?说说它们的特点

  • box-sizing常用的属性有哪些?分别有什么作用?

  • inline、block、inline-block这三个属性值有什么区别?

  • margin和padding使用的场景有哪些?

  • 什么是视差滚动?如何实现视差滚动的效果?

  • css3的:nth-child和:nth-of-type的区别是什么?

  • 怎么使用自定义字体?有什么注意事项?

  • 要是position跟display、overflow、float这些特性相互叠加后会怎么样?

  • 有用过Flex吗?简要说下你对它的了解

  • 列举CSS优化、提高性能的方法

  • 假如设计稿使用了非标准的字体,你该如何去实现它?

  • 你知道全屏滚动的原理是什么吗?它用到了CSS的那些属性?

  • 你是怎样抽离样式模块的?

  • 说说你对媒体查询的理解

  • 你知道的等高布局有多少种?写出来

  • 手写一个满屏品字布局的方案

  • span与span之间有看不见的空白间隔是什么原因引起的?有什么解决办法?

  • 重置(初始化)css的作用是什么?

  • 怎么让英文单词的首字母大写?

  • 怎么才能让图文不可复制?

  • 写出你知道的CSS水平和垂直居中的方法

  • 实现单行文本居中和多行文本左对齐并超出显示"..."

  • 不使用border画出1px高的线,在不同浏览器的标准和怪异模式下都能保持效果一样

  • 写出主流浏览器内核私有属性的css前缀

  • 使用flex实现三栏布局,两边固定,中间自适应

  • 浏览器是怎样判断元素是否和某个CSS选择器匹配?

  • 用CSS绘制一个三角形

  • 说下line-height三种赋值方式有何区别?

  • 让网页的字体变得清晰,变细用CSS怎么做?

  • 描述下你所了解的图片格式及使用场景

  • rgba()和opacity这两个的透明效果有什么区别呢?

  • 怎样修改chrome记住密码后自动填充表单的黄色背景?

  • 说说你对z-index的理解

  • 在页面中的应该使用奇数还是偶数的字体?为什么呢?

  • 你有用过CSS预处理器吗?喜欢用哪个?原理是什么?

  • 说说CSS的优先级是如何计算的?

  • 说说浏览器解析CSS选择器的过程?

  • 说说你对line-height是如何理解的?

  • 要让Chrome支持小于12px的文字怎么做?

  • css的属性content有什么作用呢?有哪些场景可以用到?

  • 什么是FOUC?你是如何避免FOUC的?

  • 解释下 CSS sprites的原理和优缺点分别是什么?

  • 请描述margin边界叠加是什么及解决方案

  • style标签写在body前和body后的区别是什么?

  • position:fixed;在ios下无效该怎么办?

  • ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?

  • 说说你对css盒子模型的理解

  • css常用的布局方式有哪些?

  • 对比下px、em、rem有什么不同?

  • 简述下你理解的优雅降级和渐进增强

  • 清除浮动的方式有哪些及优缺点?

  • 简述你对BFC规范的理解

  • 用css创建一个三角形,并简述原理

  • CSS3新增伪类有哪些并简要描述

  • CSS选择器有哪些?哪些属性可以继承?

  • 在页面上隐藏元素的方法有哪些?

  • CSS3有哪些新增的特性?

  • 圣杯布局和双飞翼布局的理解和区别,并用代码实现

js

  • 写一个方法获取图片的原始宽高

  • 请实现一个flattenDeep函数,把多维数组扁平化

  • 写一个格式化金额的方法

  • 请说下你对__proto__和prototype的理解

  • 写一个方法,使得sum(x)(y)和sum(x,y)返回的结果相同

  • JSONP的原理是什么?解决什么问题?

  • 写出4个使用this的典型例子

  • 写一个函数找出给定数组中的最大差值

  • document的load 和ready有什么区别?

  • 什么是事件委托?它有什么好处?能简单的写一个例子吗?

  • 字符串相连有哪些方式?哪种最好?为什么?

  • 请写出一个函数求出N的阶乘(即N!)

  • 写个还剩下多少天过年的倒计时

  • 你对事件循环有了解吗?说说看!

  • 请说说你对事件冒泡机制的理解?

  • 写一个使两个整数进行交换的方法(不能使用临时变量)

  • 写出几种创建对象的方式,并说说他们的区别是什么?

  • 深度克隆对象的方法有哪些,并把你认为最好的写出来

  • JQuery的源码看过吗?能不能简单概括一下它的实现原理?

  • window对象和document对象有干什么区别?

  • 说说你对IIFE的理解

  • 为什么会有跨域问题?怎么解决跨域?

  • 说说你对模块化的理解

  • 说说你对eval的理解

  • 找到字符串中最长的单词,并返回它的长度

  • 请手写一个幻灯片的效果

  • 请你解释一个为什么10.toFixed(10)会报错?

  • 请用canvas写一个关于520浪漫表白的代码

  • 说说你对this的理解

  • 造成内存泄漏的操作有哪些?

  • 写一个方法把0和1互转(0置1,1置0)

  • 写一个方法判断字符串是否为回文字符串

  • 解释下这段代码的意思!

  • 说说你对arguments的理解,它是数组吗?

  • 说说bind、call、apply的区别?并手写实现一个bind的方法

  • 写一个判断设备来源的方法

  • 如何快速让一个数组乱序,写出来

  • 0.1 + 0.2、0.1 + 0.3和0.1 * 0.2分别等于多少?并解释下为什么?

  • 你对new操作符的理解是什么?手动实现一个new方法

  • 写一个方法验证是否为中文

  • 写一个验证身份证号的方法

  • "attribute"和"property"有什么不同?

  • 你理解的"use strict";是什么?使用它有什么优缺点?

  • typeof('abc')和typeof 'abc'都是string, 那么typeof是操作符还是函数?

  • 返回到顶部的方法有哪些?把其中一个方法出来

  • 写一个数组去重的方法(支持多维数组)

  • 什么是闭包?优缺点分别是什么?

  • 说说你对javascript的作用域的理解

  • 写一个获取当前url查询字符串中的参数的方法

  • 简要描述下JS有哪些内置的对象

  • 简要描述下什么是回调函数并写一个例子出来

  • 写一个加密字符串的方法

  • 统计某一字符或字符串在另一个字符串中出现的次数

  • 写一个去除制表符和换行符的方法

  • 写一个把字符串大小写切换的方法

  • 写一个方法把下划线命名转成大驼峰命名

  • 去除字符串中最后一个指定的字符

  • 写一个方法去掉字符串中的空格

  • 用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值

软技能

  • 知道IPV6是什么吗?说说它和IPV4的区别是什么?

  • 如何预防掉头发?

  • 对于让你接手一个你觉得很烂的老项目,你该怎么办?

  • 对于5G的到来,你是怎么看的?说说你的想法

  • 说说你对浏览器的关键渲染路径的理解

  • 说说你对域名收敛和域名发散的理解?分别在什么场景下使用?

  • 网站被劫持植入广告该怎么办?如何防止?

  • 和你的上级领导意见不一致时你该怎么办?

  • 有用过本地存储吗?有什么限制?有没有考虑过超出了限制怎么办?

  • 说说你对CDN的理解,使用过程中有没有遇到过问题?

  • 你写文档一般用什么工具?Markdown有用过吗?

  • 说说你对http、https的理解

  • 你有遇到过字体侵权的事吗?如何解决?

  • 最近996一词很火,谈谈你对996的看法

  • 如果HR说要做背调,还要你给出近三个月的银行流水,你该怎么办?

  • 说说你对本项目的看法及建议

  • 从你的角度上来讲,你觉得如何管理前端团队?

  • 说说你对http、https、http2的理解

  • 最近在学什么?能谈谈你未来3,5年给自己的规划吗?

  • 你现在在团队是什么角色,有起到了什么显著的作用吗?

  • 你有自己的博客吗?平时自己有写一些技术文章吗?

  • 说说你对NodeJs的理解及用途

  • 公钥加密和私钥加密是什么?

  • 你知道网页三剑客指的是什么吗?你有用过Dreamwear吗?

  • 如果让你快速使用一门你不熟悉的新技术,你该怎么办?

  • 对于前端安全,你了解多少?说说你对XSS和CSRF的理解

  • 谈一谈你知道的前端性能优化方案有哪些?

  • 你了解什么是技术债务吗?

  • 你对全栈工程师的理解是什么?

  • 你在上一家公司工作流程是怎么样的,如何与其他人协作的?是怎样跨部门合作的?

  • 对于有压力时,你是怎么抗压的?

  • 解释下CRLF是什么?

  • 在浏览器中输入url到页面显示出来的过程发生了什么?

  • 你为什么离职呢?

  • 你对Git的branch及工作流的理解是什么?

  • 说说你工作中遇到过比较难的技术问题是什么?是如何解决的?

  • 你经历过老板要求兼容IE吗?IE几?有什么感悟?

  • 说说一件或几件(介绍下除了工作外)你觉得能为你面试加分的事

  • 前端工程师这个职位你是怎么样理解的?聊聊它的前景?

  • 来说说你对重绘和重排的理解,以及如何优化?

  • 你会手写原生js代码吗?

  • 最近都流行些什么?你经常会浏览哪些网站?

  • 你如何看待团建的?你们团建一般都怎么实施?

  • 说说你对SVN和GIT的理解和区别

  • 你在的公司有没有做代码审查(CodeReview)?如果有是怎么做的?如果没有你觉得应该怎么做才更好?

  • 对于加班你是怎么看的?

  • 你最喜欢用哪些编辑器?喜欢它的理由是什么?

  • http都有哪些状态码?

交流讨论

项目地址:
https://github.com/haizlin/fe-interview/issues

(0)

相关推荐