笔试题知识点总结

一、如何在多线程中避免发生死锁?

1.容许进程同时访问某些资源。java

2.容许进程强行从占有者那里夺取某些资源。linux

3.进程在运行前一次性地向系统申请它所须要的所有资源。canvas

4.把资源事先分类编号,按号分配,使进程在申请,占用资源时不会造成环路。浏览器

2.已知前序和中序 或 已知中序和后序均可以惟一肯定一棵二叉树

三、子串公式(n*(n+1))/2 + 1 ,要记得减去重复的字符!

四、二叉树计算公式

1.n个节点的二叉树一共有 bash

2.n层二叉树的第n层最多为2^(n-1)个服务器

3.二叉树节点计算公式 N =n0+n1+n2,度为0的叶子节点比度为2的节点数多一个N=1n1+2n2+1cookie

4.对任何一棵二叉树T,若是其终端节点数为n0,度为2的节点数为n2,则n0=n2+1,,即度为2节点=叶子节点-1网络

5.具备n个节点的彻底二叉树的深度为log2(n) + 1session

权值分别为九、三、二、8的结点,构造一棵哈夫曼树,该树的带权路径长度是?

将最小的两个组成一个新节点,而后直到组成一棵树。计算权值时只须要计算那些初始权值里面有的值,把它乘以深度即为带权路径长度。多线程

2和3组成5,5和8组成13,13和9组成22,即22为根。 值为9x1+8x2+3x3+2x3=40

各类协议(网络、运输、应用)

TCP链接的创建和释放(三次握手和四次挥手)ack的值

X=1, Y=1, Z=1
//第一次挥手,客户端发送FIN+ACK
FIN=1, ACK=1;
seq_number=X; // 1
ack_number=Z; // 1
// 第二次挥手,服务器收到FIN后,发回一个ACK
ACK=1
seq_num=Z; // 1
ack_num=x+1; // 2
// 第三次挥手,服务器关闭与客户端的链接,发送FIN
FIN=1, ACK=1;
seq_num=Y; //1
ack_num=X+1; //2
// 第四次挥手,客户端收到服务器发送的FIN以后,发回ACK确认
ACK=1
seq_num=X+1; //2
ack_num=Y+1; //2
复制代码

linux命令

ifconfig用于获取本地ip地址的.

top用于获取本机cpu使用率.

uptime命令可以打印系统总共运行了多长时间和系统的平均负载.

netstat命令用来打印Linux中网络系统的状态信息,可以让你得知整个Linux系统的网络状况.

export 设置环境变量 #export PATH=$PATH:/opt/au1200_rm/build_tools/bin

cat 查看文件内容,建立文件,文件合并,追加文件内容

echo 显示一段文字

env 查询环境变量

在 javaScript中字符串比较没有equals()方法,要比较两个字符串是否相等能够直接用==或者is()进行判断

charAt()和indexOf区别

charAt() 方法可返回指定位置的字符。

参数为index indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

stringObject.indexOf(searchvalue,fromindex) 第一个参数必选,第二个可选的整数参数

端口配置

21 FTP

80 HTTP

443 HTTPS

8080 闲置

canvas 与 SVG 之间的一些不一样之处

Canvas

依赖分辨率

不支持事件处理器

弱的文本渲染能力

可以以 .png 或 .jpg 格式保存结果图像

最适合图像密集型的游戏,其中的许多对象会被频繁重绘

Canvas 是逐像素进行渲染的。

在 canvas 中,一旦图形被绘制完成,它就不会继续获得浏览器的关注。若是其位置发生变化,那么整个场景也须要从新绘制,包括任何或许已被图形覆盖的对象。

fileStyle:设置填充颜色

strokeStyle:设置边框颜色

fillRect:画实心矩形

strokeRect:画空心矩形

SVG

不依赖分辨率

支持事件处理器

最适合带有大型渲染区域的应用程序(好比谷歌地图)

复杂度高会减慢渲染速度(任何过分使用 DOM 的应用都不快)

不适合游戏应用

margin 顺序 上右下左,就是顺时针方向

存储技术

cookie:浏览器端,跟随http请求一块儿发送给服务器

localStorage:浏览器端

session:服务器端

userData:浏览器端,仅仅ie支持的

相关文章
相关标签/搜索