2020.09.13 滴滴笔试(前端研发试卷)
- 单项选择 3*20
- 编程题 20*2
单项选择
-
性能量度(performance meas)【模型的评估】
正确率: 分类正确的个数 / 总的样本数
错误率: 分类错误的个数 / 总的样本数
查准率/精度: 预测出正例的有多少正确的
查全率/召回率: 预测正确的正例占总正例的比例 -
HTML5新增的input的type类型
- color ——拾色器
- date ——日期
- datetime ——日期(UTC时间)
- datetime-local ——带时间的日期(无时区)
- email ——电子邮件地址
- month ——月份
- number ——数值
- range ——滑块控件(区域)
- search ——搜索领域
- tel ——电话号码
- time ——时间 24小时格式
- url ——URL地址(网站)
- week ——选择周和年
-
hover
:hover CSS伪类适用于用户使用指示设备虚指一个元素(没有激活它)的情况。
这个样式会被任何与链接相关的伪类重写,像:link, :visited, 和 :active等。
为了确保生效,:hover规则需要放在:link和:visited规则之后,但是在:active规则之前,按照 LVHA 的循顺序声明 :link-:visited-:hover-:active。
:hover伪类可以任何伪元素上使用。【注意】: 在触摸屏上 :hover 有问题,基本不可用。不同的浏览器上:hover 伪类表现不同
【使用】:hover 伪类可以创建复杂的层叠机制。比如,创建一个纯CSS的下拉按钮(不使用JavaScript)。
:hover 伪类可以让你实现一个当鼠标悬停在图片上时全图预览的画廊功能。
- mouseover
当鼠标指针位于元素上方时,会发生 mouseover 事件。
该事件大多数时候会与 mouseout 事件一起使用。
【补充】
① 只要鼠标指针移入(或移出)事件所绑定的元素或其子元素,都会触发mouseover(或mouseout)事件
② 只有鼠标指针移入(或移出)事件所绑定的元素时,才会触发mouseenter(或mouseleave)事件
-
死锁
所谓死锁,指的是两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,如果无外力作用,那么它们都将无法推进下去。此时,称系统 处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。产生死锁的四个必要条件:
1.互斥(资源独占):一个资源只能由一个进程使用
2.请求与保持(部分分配,占有申请)
3.不可剥夺(不可抢占)
4.循环等待【注】只要上述条件之一不满足,就不会发生死锁。
预防死锁:
—破坏部分分配条件
—破坏不可剥夺条件
—破坏循环等待条件避免死锁的方法:
—银行家算法
【基本思想】:检查申请者对各类资源的最大需求量,如果系统现存的各类资源可以满足它的最大需求量时,就满足当前的申请。
-
块级元素
块级元素占据其父元素(容器)的整个空间,因此创建了一个“块”。
块级元素只能出现在 <body> 元素内。
默认情况下,块级元素会新起一行。
一般块级元素可以包含行内元素和其他块级元素。
-
行内元素
一个行内元素只占据它对应标签的边框所包含的空间。
一般情况下,行内元素只能包含数据和其他行内元素。
默认情况下,行内元素不会以新行开始。下面的元素都是行内元素:
b, big, i, small, tt
abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var
a, bdo, br, img, map, object, q, script, span, sub, sup
button, input, label, select, textarea
-
SVG绘图
SVG 意为可缩放矢量图形(Scalable Vector Graphics)
SVG 使用 XML 格式定义图像
SVG 用来定义用于网络的基于矢量的图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
SVG 是万维网联盟的标准
SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>
使用 SVG 的优势在于:
SVG 可被非常多的工具读取和修改(比如记事本)
SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
SVG 是可伸缩的
SVG 图像可在任何的分辨率下被高质量地打印
SVG 可在图像质量不下降的情况下被放大
SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
SVG 可以与 Java 技术一起运行
SVG 是开放的标准
SVG 文件是纯粹的 XML -
SVG标签
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
文本 <text> -
SVG stroke属性
stroke 属性定义一条线,文本或元素轮廓颜色
stroke-width 属性定义了一条线,文本或元素轮廓厚度
stroke-linecap 属性定义不同类型的开放路径的终结
stroke-dasharray 属性用于创建虚线 -
<defs> 和 <filter>
所有互联网的SVG滤镜定义在<defs>元素中。
<defs>元素定义短并含有特殊元素(如滤镜)定义。
<filter>标签用来定义SVG滤镜。
<feGaussianBlur> 元素是用于创建模糊效果
<feOffset>元素是用于创造阴影效果
<linearGradient>元素用于定义线性渐变。
<linearGradient>标签必须嵌套在的内部。
<radialGradient>元素用于定义 放射性渐变
-
socket套接字 sock_stream 流式socket 针对什么协议
常用的Socket类型有两种:
流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。
流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;
数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
-
贪心算法–哈弗曼编码的时间复杂度
有n个终端节点,构成的哈夫曼树总共有2n-1个节点,Select函数的时间复杂度为O(n),嵌套for循环,因此建立哈夫曼树的时间复杂度为O(n^2), 创建哈弗曼编码表的时间复杂度为O(n^2);
具体参考:https://www.cnblogs.com/Hyper18/p/13218426.html
-
js 中math 向下取整
parseInt(5.1234); // 5 只保留整数部分(丢弃小数部分)
Math.floor(5.1234); // 5 向下取整(<= 该数值的最大整数,和parseInt()一样)
Math.ceil(5.1234); // 6 向上取整(有小数,整数部分就+1)
Math.round(5.1234); // 5 四舍五入(小数部分)
Math.round(5.6789); // 6
Math.abs(-1); // 1 取绝对值
Math.max(1,2); // 2 返回两数中的较大者
Math.min(1,2); // 1 返回两数中的较小者
Math.random(); // 随机数(0-1)
编程题
两题都是无向图
之前没复习到图!!!!
补吧!