字节跳动java工程师社招面经(二面、三面)
二面
1.函数a调用函数b的过程,是怎么传参的
2.java里面的函数调用有哪些,io流里面有函数调用么
3.fork函数,父子进程的区别,孤儿进程,僵尸进程会有什么问题,进程有哪些状态,进程间怎么同步,通信,消息队列,管道怎么实现的,进程调度算法,各有什么优缺点
4.dos攻击,ddos攻击,drdos攻击,怎么解决,syn flood
5.自旋锁,线程上下文切换的开销具体是什么,中断,有哪些中断,用户态和内核态切换过程
6.一张大表怎么更改表的数据结构,字段,用alter会有什么问题,怎么解决呢,有什么好的方案,双写的话会有什么问题,还有其他方案么
7.redis管道用过么,用来做什么,它的原理是,保证原子性么,和事务的区别,redis事务保证原子性么
8.redis强一致性么,怎么保证强一致性,有什么方案
9.kafka怎么保证消息不丢失的
算法:找出所有相加之和为n的k个数的组合,组合中只允许含有1 - 9的正整数,并且每种组合中不存在重复的数字,输入: k = 3, x = 9输出: [[1,2,6], [1,3,5], [2,3,4]]
三面
感觉面试官很忙,就问了几个电商场景的技术解决方案
算法:一个环上有10个点,编号为0-9,从0点出发,每步可以顺时针到下一个点,也可以逆时针到上一个点,求:经过n步又回到0点有多少种不同的走法
举例:
如果n=1,则从0出发只能到1或者9,不可能回到0,共0种走法
如果n=2,则从0出发有4条路径:0->1->2, 0->1->0, 0->9->8, 0->9->0,其中有两条回到了0点,故一共有2种走法
#字节跳动##面经##java工程师##社招#