2019-11-16 05:26:48 +08:00

230 lines
25 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# css面试题
> 一周汇总一次
## 历史题目
> 最新2019.11.17
- [怎么使图片宽度自适应呢](https://github.com/haizlin/fe-interview/issues/1530)
- [实现文本的竖向排版](https://github.com/haizlin/fe-interview/issues/1526)
- [你有用过vw布局吗和使用rem有什么区别](https://github.com/haizlin/fe-interview/issues/1521)
- [举例说明常用的cursor取值有哪些](https://github.com/haizlin/fe-interview/issues/1517)
- [举例说明clear取值有哪些](https://github.com/haizlin/fe-interview/issues/1513)
- [请写出:link:visited:hover:active的执行顺序](https://github.com/haizlin/fe-interview/issues/1509)
- [实现一个上下固定中间自动填满的布局](https://github.com/haizlin/fe-interview/issues/1505)
- [怎样用纯CSS实现禁止鼠标点击事件](https://github.com/haizlin/fe-interview/issues/1501)
- [当全国哀悼日时怎么让整个网站变成灰色呢](https://github.com/haizlin/fe-interview/issues/1497)
- [如果给一个元素设置background-color,它的颜色会填充哪些区域呢](https://github.com/haizlin/fe-interview/issues/1493)
- [使用css3做一个魔方旋转的效果](https://github.com/haizlin/fe-interview/issues/1489)
- [手写一个使用css3旋转硬币的效果](https://github.com/haizlin/fe-interview/issues/1485)
- [height和line-height的区别是什么呢](https://github.com/haizlin/fe-interview/issues/1481)
- [请用css写一个扫码的加载动画图](https://github.com/haizlin/fe-interview/issues/1477)
- [举例说明伪类:focus-within的用法](https://github.com/haizlin/fe-interview/issues/1473)
- [如何用css自定义滚动条能做到所有浏览器兼容吗想要做兼容怎么办呢](https://github.com/haizlin/fe-interview/issues/1469)
- [border-radius:50%和border-radius:100%有什么区别](https://github.com/haizlin/fe-interview/issues/1465)
- [如何使用CSS实现段落首字母或首字放大效果](https://github.com/haizlin/fe-interview/issues/1461)
- [如何给段落的首行缩进](https://github.com/haizlin/fe-interview/issues/1457)
- [你有去看过或者了解过css的标准文档吗](https://github.com/haizlin/fe-interview/issues/1453)
- [你知道CSS的标准发布流程吗](https://github.com/haizlin/fe-interview/issues/1449)
- [你最希望css拥有什么样的特性目前没有的](https://github.com/haizlin/fe-interview/issues/1445)
- [解释下为什么css的reset不建议直接这么写*{ margin:0; padding:0;}](https://github.com/haizlin/fe-interview/issues/1441)
- [为什么说不提倡用1px的小尺寸图片做背景平铺](https://github.com/haizlin/fe-interview/issues/1437)
- [举例说明css有哪些简写的属性和属性值](https://github.com/haizlin/fe-interview/issues/1433)
- [请说说颜色中#F00的每一位分别表示什么为什么会有三位和六位的表示呢](https://github.com/haizlin/fe-interview/issues/1429)
- [请使用css写一个多级的下拉菜单](https://github.com/haizlin/fe-interview/issues/1418)
- [用css给一个元素加边框有哪些方法](https://github.com/haizlin/fe-interview/issues/1414)
- [相邻兄弟选择器后代选择器和子选择器三者有什么区别](https://github.com/haizlin/fe-interview/issues/1409)
- [举例说明你对相邻兄弟选择器的理解](https://github.com/haizlin/fe-interview/issues/1404)
- [你是怎么设计css sprites精灵图有哪些技巧](https://github.com/haizlin/fe-interview/issues/1384)
- [请描述下你对translate()方法的理解](https://github.com/haizlin/fe-interview/issues/1380)
- [怎样去除图片自带的边距](https://github.com/haizlin/fe-interview/issues/1376)
- [让你手写一个reset的文件你应该怎么写要考虑哪些方面呢](https://github.com/haizlin/fe-interview/issues/1372)
- [你知道css的预处理器和后处理器都有哪些吗它们有什么区别呢](https://github.com/haizlin/fe-interview/issues/1368)
- [请使用css画一个圆方法可以多种](https://github.com/haizlin/fe-interview/issues/1364)
- [css中最常用的字体有哪些你是怎么选择字体的](https://github.com/haizlin/fe-interview/issues/1346)
- [请举例说明css有哪些不可继承的属性](https://github.com/haizlin/fe-interview/issues/1342)
- [你有使用过preloadpreconnectprefetch这些属性吗说说它们都有什么作用](https://github.com/haizlin/fe-interview/issues/1338)
- [你是怎样对css文件进行压缩合并的](https://github.com/haizlin/fe-interview/issues/1334)
- [如果css文件过大时如何异步加载它](https://github.com/haizlin/fe-interview/issues/1330)
- [css3和css2的区别是什么](https://github.com/haizlin/fe-interview/issues/1316)
- [你有使用过字体图标吗它有什么好处](https://github.com/haizlin/fe-interview/issues/1312)
- [你知道什么是流体排版吗说说它的原理是什么](https://github.com/haizlin/fe-interview/issues/1297)
- [请说说你对vhvw的理解以及它们的运用场景是什么](https://github.com/haizlin/fe-interview/issues/1293)
- [css怎么更改表单的单选框或下拉框的默认样式](https://github.com/haizlin/fe-interview/issues/1288)
- [你了解css3的currentColor吗举例说明它的作用是什么](https://github.com/haizlin/fe-interview/issues/1284)
- [怎么去掉点击a链接或者图片出现的边框](https://github.com/haizlin/fe-interview/issues/1280)
- [css的linear-gradient有什么作用呢](https://github.com/haizlin/fe-interview/issues/1276)
- [会引起Reflow和Repaint的操作有哪些](https://github.com/haizlin/fe-interview/issues/1272)
- [你有用过clip-path吗说说你对它的理解和它都有哪些运用场景](https://github.com/haizlin/fe-interview/issues/1268)
- [你是怎么选择resetting和normalizing的为什么](https://github.com/haizlin/fe-interview/issues/1264)
- [position跟margin collapse这些特性相互叠加后会怎么样](https://github.com/haizlin/fe-interview/issues/1260)
- [移动端的布局用过媒体查询吗写一个试试](https://github.com/haizlin/fe-interview/issues/1256)
- [举例说明你知道的css技巧有哪些](https://github.com/haizlin/fe-interview/issues/1252)
- [判断第一行和第二行的颜色分别是什么并解释为什么[代码]](https://github.com/haizlin/fe-interview/issues/1248)
```html
<style>
.red {color:red;}
.green {color:green;}
</style>
<div class="red green">第一行:颜色是什么?</div>
<div class="green red">第二行:颜色是什么?</div>
```
- [用css怎么实现两端对齐](https://github.com/haizlin/fe-interview/issues/1234)
- [你有用过弹性布局吗说说你对它的理解](https://github.com/haizlin/fe-interview/issues/1230)
- [外边距重叠是什么重叠的结果是什么怎么防止外边距重叠](https://github.com/haizlin/fe-interview/issues/1226)
- [css中的border:none和border:0px有什么区别](https://github.com/haizlin/fe-interview/issues/1222)
- [如何写高效的CSS](https://github.com/haizlin/fe-interview/issues/1218)
- [如何做图片预览如何放大一个图片](https://github.com/haizlin/fe-interview/issues/1214)
- [举例说明在css3中怎么实现背景裁剪](https://github.com/haizlin/fe-interview/issues/1210)
- [如何使用CSS的多列布局](https://github.com/haizlin/fe-interview/issues/1206)
- [请说说CSS3实现文本效果的属性有哪些](https://github.com/haizlin/fe-interview/issues/1202)
- [请说说在什么时候用transition什么时候使用animation](https://github.com/haizlin/fe-interview/issues/1198)
- [说说响应式设计(responsive design)和自适应设计(adaptive design)的区别](https://github.com/haizlin/fe-interview/issues/1183)
- [什么是脱离文档流有什么办法可以让元素脱离标准的文档流](https://github.com/haizlin/fe-interview/issues/1179)
- [请问background-attachmentn属性有什么用途](https://github.com/haizlin/fe-interview/issues/1175)
- [移动页面底部工具条有3个图标如何平分在设置边框后最后一个图标掉下去了怎么办](https://github.com/haizlin/fe-interview/issues/1170)
- [css怎样使每个字符宽度一样](https://github.com/haizlin/fe-interview/issues/1166)
- [说下你对background-size的理解它有什么运用场景](https://github.com/haizlin/fe-interview/issues/1162)
- [如何自定义radio按钮的样式](https://github.com/haizlin/fe-interview/issues/1158)
- [word-wrapword-break和white-space有什么区别](https://github.com/haizlin/fe-interview/issues/1153)
- [说说你对字母"X"在CSS中有什么作用](https://github.com/haizlin/fe-interview/issues/1149)
- [CSS3中的transition是否可以过渡opacity和display](https://github.com/haizlin/fe-interview/issues/1145)
- [说下background-color:transparent和opacity:0的区别是什么](https://github.com/haizlin/fe-interview/issues/1141)
- [你有用过IE css的expression表达式吗说说你对它的理解和它有什么作用呢](https://github.com/haizlin/fe-interview/issues/1137)
- [z-index有时不起作用的原因是什么怎么解决](https://github.com/haizlin/fe-interview/issues/1133)
- [你有了解css计数器序列数字字符自动递增如何通过css的content属性实现呢](https://github.com/haizlin/fe-interview/issues/1129)
- [说说你对css的will-change属性的理解它有什么作用呢](https://github.com/haizlin/fe-interview/issues/1125)
- [transitionanimationtransform三者有什么区别](https://github.com/haizlin/fe-interview/issues/1121)
- [如何使用css3实现一个div设置多张背景图片](https://github.com/haizlin/fe-interview/issues/1117)
- [有哪些方式可以对一个DOM设置它的CSS样式](https://github.com/haizlin/fe-interview/issues/1113)
- [举例说明实现圆角的方式有哪些](https://github.com/haizlin/fe-interview/issues/1109)
- [有用过scss和sass吗说说它们之间的区别是什么](https://github.com/haizlin/fe-interview/issues/1105)
- [absolute的containing block容器块计算方式和正常流有什么区别](https://github.com/haizlin/fe-interview/issues/1101)
- [说说visibility属性的collapse属性值有什么作用在不同浏览器下有什么区别](https://github.com/haizlin/fe-interview/issues/1097)
- [说说你对min-width和max-width的理解它们有什么运用场景](https://github.com/haizlin/fe-interview/issues/1093)
- [说说你对hasLayout的理解触发hasLayout的方式有哪些](https://github.com/haizlin/fe-interview/issues/1089)
- [使用纯CSS代码实现动画的暂停与播放](https://github.com/haizlin/fe-interview/issues/1084)
- [举例说明伪类:nth-child:first-child与:first-of-type这三者有什么不同](https://github.com/haizlin/fe-interview/issues/1079)
- [什么是zoom它有什么作用](https://github.com/haizlin/fe-interview/issues/1074)
- [举例说明微信端兼容问题有哪些](https://github.com/haizlin/fe-interview/issues/1070)
- [请举例说明伪元素 (pseudo-elements) 有哪些用途](https://github.com/haizlin/fe-interview/issues/1066)
- [设置字体时为什么建议设置替换字体](https://github.com/haizlin/fe-interview/issues/1062)
- [你有没有自己写过一套UI库说下遇到哪些难点](https://github.com/haizlin/fe-interview/issues/1058)
- [说说你对GPU的理解举例说明哪些元素能触发GPU硬件加速](https://github.com/haizlin/fe-interview/issues/1054)
- [你知道CSS中的字母"C"代表什么吗](https://github.com/haizlin/fe-interview/issues/1050)
- [怎么自定义鼠标指针的图案](https://github.com/haizlin/fe-interview/issues/1046)
- [Reset CSS和Normalize CSS的区别是什么](https://github.com/haizlin/fe-interview/issues/1042)
- [为什么要使用css sprites](https://github.com/haizlin/fe-interview/issues/1038)
- [标签class和id选择器三者的区别是什么分别在什么时候用](https://github.com/haizlin/fe-interview/issues/1034)
- [举例说明时间频率角度弧度百分度的单位分别是哪些](https://github.com/haizlin/fe-interview/issues/1030)
- [你有用过table布局吗说说你的感受](https://github.com/haizlin/fe-interview/issues/1026)
- [说说你对设备像素比的理解](https://github.com/haizlin/fe-interview/issues/1022)
- [说下你对cursor属性的理解](https://github.com/haizlin/fe-interview/issues/1018)
- [position的relative和absolute定位原点是哪里](https://github.com/haizlin/fe-interview/issues/1014)
- [过渡和动画的区别是什么](https://github.com/haizlin/fe-interview/issues/1010)
- [CSS中的calc()有什么作用](https://github.com/haizlin/fe-interview/issues/1006)
- [怎么实现移动端的边框0.5px](https://github.com/haizlin/fe-interview/issues/1002)
- [行内元素和块级元素有什么区别如何相互转换](https://github.com/haizlin/fe-interview/issues/997)
- [说说你对低版本IE的盒子模型的理解](https://github.com/haizlin/fe-interview/issues/993)
- [你是如何规划响应式布局的](https://github.com/haizlin/fe-interview/issues/989)
- [说说你对前端二倍图的理解移动端使用二倍图比一倍图有什么好处](https://github.com/haizlin/fe-interview/issues/985)
- [如何让大小不同的图片等比缩放不变形显示在固定大小的div里写出来](https://github.com/haizlin/fe-interview/issues/980)
- [你对视网膜(Retina)分辨率有了解吗有没有在实际中使用过](https://github.com/haizlin/fe-interview/issues/976)
- [移动端微信页面有哪些兼容性问题及解决方案是什么](https://github.com/haizlin/fe-interview/issues/972)
- [如何更改placeholder的字体颜色和大小](https://github.com/haizlin/fe-interview/issues/968)
- [行内css和important哪个优先级高](https://github.com/haizlin/fe-interview/issues/963)
- [当一个元素被设置为浮动后它的display值变为什么呢](https://github.com/haizlin/fe-interview/issues/959)
- [为什么会出现浮动在什么时候需要清除浮动呢](https://github.com/haizlin/fe-interview/issues/955)
- [写出div在不固定高度的情况下水平垂直居中的方法](https://github.com/haizlin/fe-interview/issues/907)
- [移动端的布局用过媒体查询吗写出例子看看](https://github.com/haizlin/fe-interview/issues/903)
- [CSS的伪类和伪对象有什么不同](https://github.com/haizlin/fe-interview/issues/758)
- [CSS的overflow属性定义溢出元素内容区的内容会如何处理呢?](https://github.com/haizlin/fe-interview/issues/748)
- [外层有一个自适应高度的div里面有两个div一个高度固定300px另一个怎么填满剩余的高度](https://github.com/haizlin/fe-interview/issues/744)
- [说说你对CSS样式覆盖规则的理解](https://github.com/haizlin/fe-interview/issues/608)
- [写出几个初始化CSS的样式并解释说明为什么要这样写](https://github.com/haizlin/fe-interview/issues/601)
- [display有哪些值分别说明他们的作用是什么](https://github.com/haizlin/fe-interview/issues/597)
- [怎么让body高度自适应屏幕为什么](https://github.com/haizlin/fe-interview/issues/593)
- [font-style的属性有Italic和oblique两者有什么区别呢?](https://github.com/haizlin/fe-interview/issues/589)
- [IE(6/7/8/9/10/11/Edge)下的hack写法分别有哪些](https://github.com/haizlin/fe-interview/issues/585)
- [写出你遇到过IE6/7/8/9的BUG及解决方法](https://github.com/haizlin/fe-interview/issues/581)
- [举例说明css的基本语句构成是什么呢](https://github.com/haizlin/fe-interview/issues/577)
- [写例子说明如何强制自动英文换行与不换行](https://github.com/haizlin/fe-interview/issues/573)
- [说说你对BEM规范的理解同时举例说明常见的CSS规范有哪些](https://github.com/haizlin/fe-interview/issues/569)
- [遇到overflow: scroll不能平滑滚动怎么解决](https://github.com/haizlin/fe-interview/issues/563)
- [请问display:inline-block在什么时候会显示间隙](https://github.com/haizlin/fe-interview/issues/531)
- [用CSS画出一个任意角度的扇形可以写多种实现的方法](https://github.com/haizlin/fe-interview/issues/527)
- [请你解释下什么是浮动和它的工作原理是什么同时浮动会引起什么问题](https://github.com/haizlin/fe-interview/issues/522)
- [说说你对!important的理解一般在哪些场景使用](https://github.com/haizlin/fe-interview/issues/518)
- [在实际编写css中你有遇到过哪些浏览器兼容性的问题怎么解决的](https://github.com/haizlin/fe-interview/issues/514)
- [怎么改变选中文本的文字颜色和背景色](https://github.com/haizlin/fe-interview/issues/510)
- [你对响应式设计的理解是什么知道它基本的原理是吗要想兼容低版本的IE怎么做呢](https://github.com/haizlin/fe-interview/issues/503)
- [你有使用过哪些栅格系统都有什么区别呢](https://github.com/haizlin/fe-interview/issues/499)
- [请说说`*{box-sizing: border-box;}`的作用及好处有哪些](https://github.com/haizlin/fe-interview/issues/495)
- [说说你对jpgpnggif的理解分别在什么场景下使用有使用过webp吗](https://github.com/haizlin/fe-interview/issues/491)
- [如何消除transition闪屏](https://github.com/haizlin/fe-interview/issues/408)
- [元素竖向的百分比设置是相对容器的高度吗](https://github.com/haizlin/fe-interview/issues/404)
- [用CSS绘制一个红色的爱心](https://github.com/haizlin/fe-interview/issues/300)
- [举例说明css中颜色的表示方法有几种](https://github.com/haizlin/fe-interview/issues/294)
- [说说position的absolute和fixed共同与不同点分别是什么](https://github.com/haizlin/fe-interview/issues/280)
- [手动写动画最小时间间隔是多少为什么](https://github.com/haizlin/fe-interview/issues/276)
- [怎样把一个div居中怎样把一个浮动元素居中怎样把绝对定位的div居中](https://github.com/haizlin/fe-interview/issues/255)
- [用css画一个太阳](https://github.com/haizlin/fe-interview/issues/251)
- [你有用过哪些css框架说说它们的特点](https://github.com/haizlin/fe-interview/issues/245)
- [box-sizing常用的属性有哪些分别有什么作用](https://github.com/haizlin/fe-interview/issues/241)
- [inlineblockinline-block这三个属性值有什么区别](https://github.com/haizlin/fe-interview/issues/237)
- [margin和padding使用的场景有哪些](https://github.com/haizlin/fe-interview/issues/220)
- [什么是视差滚动如何实现视差滚动的效果](https://github.com/haizlin/fe-interview/issues/216)
- [css3的:nth-child和:nth-of-type的区别是什么](https://github.com/haizlin/fe-interview/issues/208)
- [怎么使用自定义字体有什么注意事项](https://github.com/haizlin/fe-interview/issues/208)
- [要是position跟displayoverflowfloat这些特性相互叠加后会怎么样](https://github.com/haizlin/fe-interview/issues/203)
- [有用过Flex吗简要说下你对它的了解](https://github.com/haizlin/fe-interview/issues/198)
- [列举CSS优化提高性能的方法](https://github.com/haizlin/fe-interview/issues/190)
- [假如设计稿使用了非标准的字体你该如何去实现它](https://github.com/haizlin/fe-interview/issues/186)
- [你知道全屏滚动的原理是什么吗它用到了CSS的哪些属性](https://github.com/haizlin/fe-interview/issues/182)
- [你是怎样抽离样式模块的](https://github.com/haizlin/fe-interview/issues/178)
- [说说你对媒体查询的理解](https://github.com/haizlin/fe-interview/issues/174)
- [你知道的等高布局有多少种写出来](https://github.com/haizlin/fe-interview/issues/170)
- [手写一个满屏品字布局的方案](https://github.com/haizlin/fe-interview/issues/166)
- [span与span之间有看不见的空白间隔是什么原因引起的有什么解决办法](https://github.com/haizlin/fe-interview/issues/162)
- [重置初始化css的作用是什么](https://github.com/haizlin/fe-interview/issues/158)
- [怎么让英文单词的首字母大写](https://github.com/haizlin/fe-interview/issues/153)
- [怎么才能让图文不可复制](https://github.com/haizlin/fe-interview/issues/149)
- [写出你知道的CSS水平和垂直居中的方法](https://github.com/haizlin/fe-interview/issues/145)
- [实现单行文本居中和多行文本左对齐并超出显示"..."](https://github.com/haizlin/fe-interview/issues/141)
- [不使用border画出1px高的线在不同浏览器的标准和怪异模式下都能保持效果一样](https://github.com/haizlin/fe-interview/issues/137)
- [写出主流浏览器内核私有属性的css前缀](https://github.com/haizlin/fe-interview/issues/133)
- [使用flex实现三栏布局两边固定中间自适应](https://github.com/haizlin/fe-interview/issues/129)
- [浏览器是怎样判断元素是否和某个CSS选择器匹配](https://github.com/haizlin/fe-interview/issues/123)
- [用CSS绘制一个三角形](https://github.com/haizlin/fe-interview/issues/119)
- [说下line-height三种赋值方式有何区别](https://github.com/haizlin/fe-interview/issues/115)
- [让网页的字体变得清晰变细用CSS怎么做](https://github.com/haizlin/fe-interview/issues/111)
- [描述下你所了解的图片格式及使用场景](https://github.com/haizlin/fe-interview/issues/107)
- [请描述css的权重计算规则](https://github.com/haizlin/fe-interview/issues/103)
- [rgba()和opacity这两个的透明效果有什么区别呢](https://github.com/haizlin/fe-interview/issues/99)
- [怎样修改chrome记住密码后自动填充表单的黄色背景](https://github.com/haizlin/fe-interview/issues/95)
- [说说你对z-index的理解](https://github.com/haizlin/fe-interview/issues/91)
- [在页面中的应该使用奇数还是偶数的字体为什么呢](https://github.com/haizlin/fe-interview/issues/87)
- [你有用过CSS预处理器吗喜欢用哪个原理是什么](https://github.com/haizlin/fe-interview/issues/83)
- [说说CSS的优先级是如何计算的](https://github.com/haizlin/fe-interview/issues/79)
- [说说浏览器解析CSS选择器的过程](https://github.com/haizlin/fe-interview/issues/75)
- [说说你对line-height是如何理解的](https://github.com/haizlin/fe-interview/issues/71)
- [要让Chrome支持小于12px的文字怎么做](https://github.com/haizlin/fe-interview/issues/67)
- [css的属性content有什么作用呢有哪些场景可以用到](https://github.com/haizlin/fe-interview/issues/63)
- [什么是FOUC你是如何避免FOUC的](https://github.com/haizlin/fe-interview/issues/59)
- [解释下 CSS sprites的原理和优缺点分别是什么](https://github.com/haizlin/fe-interview/issues/55)
- [请描述margin边界叠加是什么及解决方案](https://github.com/haizlin/fe-interview/issues/51)
- [style标签写在body前和body后的区别是什么](https://github.com/haizlin/fe-interview/issues/47)
- [position:fixed;在ios下无效该怎么办](https://github.com/haizlin/fe-interview/issues/43)
- [::before和:after中单冒号和双冒号的区别是什么这两个伪元素有什么作用](https://github.com/haizlin/fe-interview/issues/39)
- [说说你对css盒子模型的理解](https://github.com/haizlin/fe-interview/issues/35)
- [css常用的布局方式有哪些](https://github.com/haizlin/fe-interview/issues/32)
- [对比下pxemrem有什么不同](https://github.com/haizlin/fe-interview/issues/29)
- [简述下你理解的优雅降级和渐进增强](https://github.com/haizlin/fe-interview/issues/26)
- [清除浮动的方式有哪些及优缺点](https://github.com/haizhilin2013/interview/issues/23)
- [简述你对BFC规范的理解](https://github.com/haizhilin2013/interview/issues/20)
- [用css创建一个三角形并简述原理](https://github.com/haizhilin2013/interview/issues/17)
- [CSS3新增伪类有哪些并简要描述](https://github.com/haizhilin2013/interview/issues/14)
- [CSS选择器有哪些哪些属性可以继承](https://github.com/haizhilin2013/interview/issues/11)
- [在页面上隐藏元素的方法有哪些](https://github.com/haizhilin2013/interview/issues/8)
- [CSS3有哪些新增的特性](https://github.com/haizhilin2013/interview/issues/5)
- [圣杯布局和双飞翼布局的理解和区别并用代码实现](https://github.com/haizhilin2013/interview/issues/2)