2021.2.15 面经复习
时间:2021-02-18 13:00:12
收藏:0
阅读:0
字节日常实习一面(武汉后端开发)
原帖地址:https://www.nowcoder.com/discuss/582954
- C++里有哪几种map,两种map比较。
基于红黑树的map和基于Hash的map,这两种map的区别其实就是基于数据结构不同的区别,红黑树本质就是平衡树,可以根据键值对有序地存储数据,复杂度均摊为lgn级别,而hash是基于哈希计算的,复杂度均摊为O(1)但数据均是无序保存。 - 哈希表冲突解决方法
再开放寻址和线性探测。 - 哈希表扩容
新建容量更大的哈希表并将原本哈希表的元素移入新的哈希表中。 - map的应用,为什么epoll用红黑树
作死回答了epoll,被问为什么epoll用红黑树不用哈希表,脑子短路了没回答上来。 - 为什么要有进程和线程
没遇到过这种问题,回答了引入进程是为了让程序并发执行,引入线程让函数并发执行。 - 进程占有的资源有什么。
答内存资源,CPU资源,没能让面试官满意。 - 进程和线程的区别
- 线程的通信方式
- TCP和UDP区别
- TCP靠什么保证可靠性
超时重传机制 - TCP、UDP哪个效率高
UDP - TCP接收端收到相同的数据包会重复发出响应信号吗
- TCP什么情况下会发生重传
超时
作者:爱做梦的病人
链接:https://www.nowcoder.com/discuss/582954
来源:牛客网
15 算法题
在力扣上没找到相应题目,跪求题目出处
一个环上有0,1,2,3,4,5,6,7,8,9 共计10个节点,一个指针起始位置在0节点,每次只能走一步,可以顺时针走也可以逆时针走,请问走了n步之后再回到0节点,请问总共有多少种不同的方式?
例如n=1,路径有(0,1),(0,9),输出0
n=2,路径有(0,1,2)(0,1,0)(0,9,0)(0,9,8) 输出2
作者:牛客545441257号
链接:https://www.nowcoder.com/discuss/582954
来源:牛客网
int mainfun(int n) {
vector<vector<int>> matrix(vector<vector<int>>(n+1,vector<int>( 10,0)));
for (int i = 0;i < 10;i++) {
matrix[0][i] = 0;
}
matrix[1][1] = 1;
matrix[1][9] = 1;
for (int i =2;i < n+1;i++) {
for (int j = 0;j < 10;j++) {
if(j>0&&j<9)
matrix[i][j] = matrix[i - 1][j + 1] + matrix[i - 1][j - 1];
if(j==0)
matrix[i][j] = matrix[i - 1][j + 1] + matrix[i - 1][9];
if (j == 9)
matrix[i][j] = matrix[i - 1][0] + matrix[i - 1][j-1];
}
}
return matrix[n][0];
}
评论(0)