去年9月底的滴滴前端实习面经

去年9月底的滴滴面经
怎么冒泡排序,优化算法

介绍项目难点 :(跨域,Ajax,node.js)
css : 圣杯布局,position有什么,css3盒子,
js :typeof instrantcf区别,(构造函数)


怎么画一个时钟,又时钟走动,对应时间变化
页面的登陆,http无状态的
使用cookie
input hidden
css测试题
<style>
.red {color:red;}
.green {color:green;}
</style>
<div class="red green">第一行:颜色是什么?</div>
<div class="green red">第二行:颜色是什么?</div>
实际上,存在多个重复类名的情况下,选择器不会自动匹配定位元素最亲近的祖先元素。也就是说无论 green 和 red 类名写在哪里,写多少个都是无足轻重的。
 
拿例子来说。.red 和 .green 都是标签p的祖先元素,不能错误地认为 .green 是第一行 p 元素的直接父级就会对其应用 .green p {} 的相应样式。
进一步,在 .red 和 .green 同为 p 祖先元素的基础上,两个选择器对于两个p元素来说是一样的,同样匹配。
 
这种情况下就需要比较选择器的权重了,通过上面的计算方式,两者的权重都是11(0,0,1,1)。
这样在权重相同的情况下后声明的样式覆盖先声明的样式。如果将css声明顺序颠倒,结果就会全部显示红色。
 

title与h1的区别、b与strong的区别、i与em的区别
1、title是网站header部分的内容是网站的标题,而h表示body内的标题、如果title没有写 H1会被充当title
2、但从视觉上效果观看b与strong、i与em是没有区别的,唯一区别是搜索引擎检索的时候搜索引擎可以识别strong、em标签、而不能识别b与i标签
GBK和UTF-8
我们知道,计算机存储数据都是2进制,就是0和1,那么这么多的字符就都需要有自己对应的0和1组成的序列,计算机将需要存储的字符转换成它们对应的01序列,然后就可以储存在电脑里了。

 

比如我们可以定义用8位2进制表示一个字符,“00000000”表示小写字母“a”,“00000001”表示小写字母“b”,那么计算机要存储“ab”的时候,其实在计算机里的存储的是“0000000000000001”,读取的时候先读取前8位,根据对应关系,可以解码出“a”,再读取后8位,又可以解码出“b”,这样就读出了当时写入的“ab”了。而我们定义的这种字符和二进制序列的对应关系,就可以称之为编码。我们如果需要将“ab”发送给别人,因为网络也是基于二进制,所以只要先约定好编码规则,就可以发送“0000000000000001”,然后对方根据约定的编码解码,就可以得到“ab”。现在是互联网的时代,我们经常需要和其他的计算机进行交互,一套编码系统还是比较复杂的,所以大家就需要约定统一的编码,这样的编码是大家都约定好的,就不用再去约定编码规则了~然而,为了满足各种不同的需求,人们还是制定了很多种编码,没有哪一种能全面替代其他编码,所以现在多种编码并存。通常这些编码都被大家所接受和熟知,所以现在不用再通信前商量编码的对应规则和细节,只需要告诉对方,我采用的是什么通用编码,彼此就能愉快地通信了。

 

所以乱码的本质就是:读取二进制的时候采用的编码和最初将字符转换成二进制时的编码不一致。

栈 堆 对象 冒泡排序



udp和tcp的区别

计算机网络 传输层

二面
jq的链式调用原理
MyJQ.prototype = { css:function(){ console.log("设置css样式"); return this; }, show:function(){ console.log("将元素显示"); return this; }, hide:function(){ console.log("将元素隐藏"); } }; var myjq = new MyJQ(); myjq.css().css().show().hide();
冒泡排序的时间复杂度
n*2
闭包与匿名函数


解决让浏览器兼容ES6特性
git操作

http状态码
javascript中实现继承的三种方式(一看就懂)

闭包
如果要想把 this 的值从一个环境传到另一个,就要用 call 或者apply 方法

H5新特性

#滴滴前端招聘##Proto##实习#
全部评论

相关推荐

1 19 评论
分享
牛客网
牛客企业服务