字节跳动 本地生活 二面(实习)

以前的面经

1、算法:通过前序遍历和后续遍历构建一个树,并通过某中遍历方式输出

2、n个桶,每个桶有不同的苹果,从1桶移动到2桶一个苹果算1次移动,问让所有桶的苹果数一致,最少需要多少次移动?

3、tcp,udp的区别

4、进程线程的区别

5、进程间如何通信,进程如何做共享资源的互斥

6、tcp如何发数据

7、ping的过程,使用了那些协议

8、ping如何找到目的主机

9、扫码登录如何实现

10、加密如何做?

11、消息队列的实现

12、如果使用mysql来存储消息和元数据,表如何设计,写出表的结构

13、延时消息如何做(排序+轮巡)

14、数据量太大如何排序,可以让客户端做延时监测(使用B+树排序,或者使用linux的time_fd让系统做)
全部评论
手撕是洗衣机吗?
1 回复 分享
发布于 2023-12-04 20:58 陕西
算法这么难?
点赞 回复 分享
发布于 2023-12-06 02:59 重庆

相关推荐

05-28 23:47
已编辑
西南交通大学 Java
一、项目相关二、Java线程池提交任务的过程线程池拒绝策略为什么工作线程数大于核心线程数并且小于核心线程数时不直接创建线程去处理任务三、Redis你了解或者使用过的数据结构讲一下Zset你使用分布式锁的命令四、手撕45°打印数组比如数组是:1    2    3    4    56    7    8    9    1011    12    13    14    15打印顺序就是1,2,6,3,7,11,4,8,12,5,9,13,10,14,15最后手撕没做出来,可以说是很不应该了,也刷了很久的算法题,其实就是一个很简单的模拟过程,感觉有点可惜。-----5.28更新----public class Test1 {public static void main(String[] args) {int m = 3;int n = 5;int count = 0;int[][] nums = new int[m][n];for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {count++;nums[i][j] = count;}}//第一行往左下打印for(int k = 0; k < n; k++) {for(int i = 0, j = k; i < m && j >= 0; i++, j--) {System.out.print(nums[i][j] + ",");}}//最后一列往左下打印for(int k = 1; k < m; k++) {for(int i = k,j = n -  1; i < m && j >= 0; i++, j--) {if(i == m - 1 && j == n - 1) {System.out.print(nums[i][j]);}else {System.out.print(nums[i][j] + ",");}}}}}
查看7道真题和解析
点赞 评论 收藏
分享
评论
3
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务