牛客网刷题
1.堆操作堆排序:将初始序列构建成大顶堆/小顶堆,将最后一个元素与堆顶元素交换,重新向下调整,重复此步骤;
堆中插入元素:将新元素插入在末端上,然后进行向上调整;
堆中删除元素:用堆中末尾元素代替堆顶元素,然后向下调整;
2.降低进程优先级的合理时机是?
- 进程刚完成I/O,进入就绪列队,进程还没有运行处于可运行状态,不适合降低优先级
- 进程的时间片用完,进程从运行态>>>就绪态,适合降低
- 进程从就绪态转为运行态,不适合降低优先级,否则导致进程被强占
- 进程长期处于就绪队列中,不适合降低优先级,应该提交其优先
3.cookie和session的区别
cookie
session
存储在客户端
存储在服务器上
存储字符串类型数据
存储任意类型数据,如:string、list、set、map、javabean等
有大小限制,3k
没有大小限制
用于追踪客户身份验证
用于追踪客户身份验证
-----
用户多的时候影响服务器性能
4.linux进程通信6大方式
-
管道/无名管道
-
共享内存
-
socket
-
信号量
-
信号
-
消息队列
-
文件锁
5.死锁的预防:
- 指定锁的获取顺序
- 降低锁的粒度,同步块中同步的操作尽可能少
- 使用trylock方法
银行家算法用来避免死锁的
6.java语言中,如果"xyz"没有被创建过,String s =new String(“xyz”);创建了几个string object?
创建了2个,一个是在字符串常量池中创建xyz,一个是在堆上为对象分配内存;
7.主键约束
- 可以定义一列或者多列
- 不可能更新
- 不能有重复值,不能null
8.唯一性约束
- 可以定义一列或者多列
- 可以更新
- 可以为null
9.TCP特点:
- 建立连接(3次握手)
- 发送数据有序,到达接收端不一定有序,但是接收端会将数据整理成有序的
- 端到端流量控制
- 有发包重传机制,数据包发错或者丢失会重新发送
- 大数据包会将其拆分,到达接收端会对其重组
10.32位linux系统中的字节数
- char :1个字节
- char*(即指针变量): 4个字节
- short int : 2个字节
- int: 4个字节
- unsigned int : 4个字节
- float: 4个字节
- double: 8个字节
- long: 4个字节
- long long: 8个字节
- unsigned long: 4个字节
64位编译器:
- char :1个字节32
- char*(即指针变量): 8个字节
- short int : 2个字节
- int: 4个字节
- unsigned int : 4个字节
- float: 4个字节
- double: 8个字节
- long: 8个字节
- long long: 8个字节
- unsigned long: 8个字节
11.count(*)=count('字段值'):都是统计记录数,有几条记录就统计几条记录;
count(字段名称):如果有null的记录,则不统计
12.如果主存容量为8G,硬盘容量为128G,计算机地址寄存器为32位,则虚存的最大容量是以下哪个?
232byte=4G
13.tcp协议使用有哪些?udp协议使用有哪些?
- http、ftp、smtp都是使用tcp协议
- 语音、视频、qq、dns都是使用udp协议
14.在公司局域网上ping www.qq.com涉及到的网络协议是
DNS域名解析、ARP协议、ICMP协议,没有使用到tcp协议。一般不涉及数据传输不会使用到TCP协议
15.多态分类:
- 编译时多态---方法重载
- 运行时多态
运行时多态的3个必要条件:
- 继承
- 重写
- 父类引用指向之类对象
16.局部变量使用前如果没有初始化,编译不通过;
17.
下列外部类定义中,不正确的是:(C )
A.class x { .... } B.class x extends y { .... }
C.static class x implements y1,y2 { .... }
D.public class x extends Applet { .... }
结论:static可以用来修饰内部类,但是不可以用来修饰外部类