20220410字节笔试—测试方向
一、编程题2道(50分)
- 输入是一个矩阵,0表示海洋,1表示陆地。如果陆地接壤的海洋数(上下左右)大于等于2,那么陆地会变成海洋。
比如输入
1 0 1 1
0 0 0 0
0 0 1 0
输出为
0 0 0 1
0 0 0 0
0 0 0 0
解释:(0,0)的陆地右边和下边是海洋;(0,2)的陆地左边和下边是海洋;(2,2)的陆地左边和上边是海洋。
暴力遍历:通过率100%
- 输入机器人需要走的步数n和能量数组array,判断机器人能否走到终点。
比如输入1
5
2 1 3 1 4
输出1
TRUE
解释1:array[0]=2,即机器人可以走0,1,2步,如果走2步到array[2],再走3步到终点,输出TRUE。
比如输入2
5
3 2 1 0 4
输出2
FALSE
解释2:无论怎么走,都只能走到array[3]=0的位置上,走不到终点,输出FALSE。
1.顺序法(DFS):栈溢出,通过率20%
2.逆序法(倒推连通性):100%
二、单选题10道(20分)
- HTTP长链接和短链接:HTTP /1.0以上采用长链接
- 优先级比较:算术运算符>关系运算符>赋值运算符
- TCP协议采用滑动窗口技术实现流量控制和拥塞控制
- cookie和session:cookie存储客户端,session存储再服务器端
- 用链接方式存储队列,进行插入操作时,
头、尾指针可能修改
- 堆排序的时间复杂度和空间复杂度,是一种不稳定的排序算法
- 进程状态转换:
阻塞态不能直接转换为运行态
- 运输数据的单位:
物理层——比特
、数据链路层——帧
、网络层——包
- 斐波那契数列
递归
实现的时间复杂度 - 二分查找的次数
三、多选题10道(30分)
- 死锁的必要条件
- 数据链路层信道类型:点对点、广播
- shell中获取数组所有元素:
${array[*]}
和${array[@]}
- contab:
0 7 2,3,4 5 *sh -x blabla.sh
的作用(不懂) - Unix系统中用于进程通信:消息队列、共享内存、信号
- 索引(应该是进程的索引相关知识,不懂)
- 分类预测离散值;回归预测连续值;聚类是无监督学习
- 属于贪心算法的算法:Kruskal…(只选了这个,其他不确定)
- HTTP使用80端口;HTTPS使用443端口,是在HTTP的基础上增加SSL层
- TCP协议提供的是面向连接、可靠的字节流服务;UDP协议是一个简单的面向数据报的运输层协议,不提供可靠性。