前言
一些笔试题的知识点总结
-
已知二叉树的中序遍历序列为丑子卯寅辰,后序遍历序列为丑卯辰寅子,则先序遍历序列为子丑寅卯辰
-
设有两个串p和q,求q在p中首次出现位置的运算称做: 模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串。
-
用户在internet上传输加密文件,该文件的加密密钥与解密密钥相同,使用的加密模型是对称加密
优点:对称加密算法使用同一个密匙加密和解密,速度快,适合给大量数据加密。
缺点:对称加密客户端和服务端使用同一个密匙,存在被抓包破解的风险;需要大量钥匙,秘钥管理负担。
常用的算法: -
epoll的最大连接数是无上限
最大连接数:select 的最大连接数为 1024 或 2048,而 poll 和 epoll 是无上限的 -
在linux系统中查看select单进程监视fd数量的文件是file-max
单个进程可监视的fd数量被限制,即能监听端口的数量有限,数值存在如下文件里:cat /proc/sys/fs/file-max -
DNS的作用: 将域名解析为IP 地址
域名dns的功能是为实现域名和IP的映射功能,因为在网络通讯时,需要将域名转化为IP地址。 -
在B/S模型中客户端与服务器使用http协议通信,在建立连接时使用传输层的协议是TCP
-
CSS3媒体查询device-width 用于定义输出设备的屏幕可见宽度
device-aspect-ratio
定义输出设备的屏幕可见宽度与高度的比率。
device-height
定义输出设备的屏幕可见高度。
device-width
定义输出设备的屏幕可见宽度。
媒体查询 -
animation-direction属性为alternate时, 动画效果为先向前,然后向后运行。
如果 animation-direction 值是 “alternate”,则动画会在奇数次数(1、3、5 等等)正常播放,而在偶数次数(2、4、6 等等)向后播放。 -
下面元素中content内容区域的宽度为(300px )
div{
width: 300px;
border: 25px solid green;
padding: 25px;
margin: 25px;
} -
地理位置API允许用户向Web应用程序提供他们的位置,地理定位是HTML5中新增的API特性,它允许JavaScript程序向浏览器询问用户真实的地理位置。识别地理位置的一些应用就可以使用它来显示地图、导航和其它一些与用户当前位置有关的信息。 Geolocation API存在于navigator对象中,只包含3个方法:1、getCurrentPosition //当前位置。2、watchPosition //监视位置。3、clearWatch //清除监视。
您可以调用 getCurrentPosition() 函数获取用户当前定位位置。这会异步地请求获取用户位置,并查询定位硬件来获取最新信息。 -
以下关于HTML语义化,描述正确的是ABCD
A 语义化可以让计算机能够快读的读懂内容
B 语义化有利于SEO
C 语义化便于团队开发和维护
D 语义化可以页面能呈现清晰的结构 -
HTML < script>标签用于定义客户端脚本,比如JavaScript, 为防止阻塞页面渲染,通常该标签会放置在html标签底部,body标签内底部,head标签内,并设置defer或者async属性
-
请求打开用户设备麦克风的接口是navigator.mediaDevices.getUserMedia
-
以下关于windows对象说法不正确的是A
A history.back()方法表示加载历史列表中的下一 个URL
B window.resizeTo(方法表示会调整当前窗口尺寸
C windows对象中的status属性用来指定浏览器状态栏中显示的临时信息
D windows对象包括screen对象、location对象和history对象
history.back() 方法可加载历史列表中的前一个 URL(如果存在)。
调用该方法的效果等价于点击后退按钮或调用 history.go(-1)。
- 以下关于类的说法不正确的是C
A extends用来创建一个普通类或者内建对象的子类
B extends继承的prototype必须是一个object 或者null
C 类添加私有属性需加前缀&符号
D 类属性在默认情况下是公共的,可以被外部类检测或修改
JavaScript 的私有属性使用 # 符号
-
setInterval(updateClock,60)的含义是每隔60亳秒调用一次updateClock()
-
常见的键盘事件:
- keydown:在键盘上按下某个键时触发。如果按住某个键,会不断触发该事件,但是 Opera 浏览器不支持这种连续操作。该事件处理函数返回 false 时,会取消默认的动作(如输入的键盘字符,在 IE 和 Safari 浏览器下还会禁止keypress 事件响应)。
- keypress:按下某个键盘键并释放时触发。如果按住某个键,会不断触发该事件。该事件处理函数返回 false 时,会取消默认的动作(如输入的键盘字符)。
- keyup:释放某个键盘键时触发。该事件仅在松开键盘时触发一次,不是一个持续的响应状态。
-
设有两个串和P,求P在中首次出现的位置的运算叫做模式匹配,又叫子串定位
-
求解NP类问题的方法:①近似算法②概率算法③并行计算④智能算法
-
弹性盒子中flex shrink:0的功能是来固定元素不被挤压,当兄弟元素的宽加起来超过父元素时,此元素不缩小宽。
-
动态规划算法中可能用到的思想不包含贪心
-
在多项式时间内解决的问题是NP问题
-
将A元素拖拽并放置到B元素中,B元素需要做event.preventDefault()
-
下面关于Canvas和SVG图形的区别说法错误的是B
A SVG绘制的内容可以触发事件,Canvas 只有画布可以触发事件
B SVG与分辨率相关,Canvas与分辨率无关
C SVG绘制的内容可以通过DOM Api进行操作,Canvas 不可以
D 可以通过其它软件(如CAD、Sketch) 等导出获取SVG图形
- | 描述 | 比较 |
---|---|---|
Canvas | 通过Javascript来绘制2D图形;是逐像素进行渲染的;其位置发生改变,会重新进行绘制 | 依赖分辨率;不支持事件处理器;弱的文本渲染能力;能够以 .png 或 .jpg 格式保存结果图像;最适合图像密集型的游戏,其中的许多对象会被频繁重绘 |
SVG | 一种使用XML描述的2D图形的语言;SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器;在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。 | 不依赖分辨率;支持事件处理器;最适合带有大型渲染区域的应用程序(比如谷歌地图);复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快);不适合游戏应用 |
- 在HTML5服务器发送事件中,EventSource对象通过响应onmessage事件获取服务端的消息
默认EventSource对象通过侦听“message”事件获取服务端传来的消息,“open”事件则在http连接建立后触发,”error“事件会在通信错误(连接中断、服务端返回数据失败)的情况下触发。同时,EventSource规范允许服务端指定自定义事件,客户端侦听该事件即可。 - 锚点标签 name 属性之外,还可以使用 id 属性
制作页面锚点除了使用 锚点标签 name 属性之外,还可以使用 id 属性。锚点 标签中 href 属性的值为 # 开头加上目标的 name 或 id 的值 - 分布式数据库的特征高扩展性、高可用性、高并发性
- ECMAScript中for in语句是一种严格的迭代语句,其主要用于用于枚举对象中的非符号键属性。
- 以下哪种方法不可以合法的初始化ECMAScript对象
A let o = new Object{}
B let o = Object
C let o = new Object
D let o= {}
let o = new Object()
console.log(o);
- React渲染性能优化通常使用ShouldComponentUpdate周期函数
- 以下关于ECMAScript中函数声明与函数表达式描述正确的是D
A 在任何代码执行之前先读取函数声明和函数表达式
B 在执行时读取函数声明和函数表达式
C 在任何代码执行之前先读取函数表达式,执行时读取函数声明
D 在任何代码执行之前读取函数声明,执行时会读取函数表达式
解释器在解析JavaScript代码时对于这两种方式并不是一视同仁的。解释器会首先读取函数声明,并使其在执行任何代码之前可用;而对于函数表达式,则必须等到解释器执行到它所在的代码行,才会被真正解析执行。 - web系统对话框alert()、confirm()、prompt()