菜鸟线下面试面经
菜鸟线下面试
1.最熟悉的项目(oj),项目的难点。
2.项目是怎么保证安全的?
回答了安全管理器和seccomp
3.假如一个用户对文件进行读写,会影响到另一个用户吗?
回答没设计能读取文件的那种题目。其他会用安全管理器限制
4.假如有大量用户访问,一个docker够吗?
可以采用容器池的思想(仿照线程池),做一个负载均衡策略。而且每个容器设置了内存大小,实际题目占用的内存做了限制,不可能说跟容器一样。所以说一个容器能支撑多个判题的执行。(忘记这里还可以说自己用jmeter做了测试。。)
之后是智能面试刷题平台项目
问两个项目中redis都使用了哪些东西?(这个项目的redis lua脚本没复习,所以没敢回答,只说用到了分布式session和bitmap,面试官笑了。。没懂在笑什么,是用的少了吗?这里其实还应该说自己用redis缓存了题目,说不定之后就会问双写一致性的八股。)
4.deepseek如何使用的?一段优秀的prompt应该包含什么?有优化提升效率吗?
效率提升方面提到线程池。
追问线程池大小如何设置?
回答这里是根据题目的数量来设置。(这里回答的不好,面试官说了假如说生成一百道题,难道要设立100个吗)
后续又答到cpu繁忙型和io繁忙型设置线程的个数的区别。
5。为什么使用bitmap?详细讲一下节省多少空间?除了空间还有哪些优化?
6.ES和Mysql的一致性怎么保证?
回答全量同步和增量同步。
7.如何确保同步的是200条而不是190条?代码怎么写的?需要在数据库里单独用一张表记录吗?ES也能使用事务吗?(这里回答了事务,回答错了)
回答了用事务来确保数据的插入,然后ES里面也有ESTemplate,类似于jdbc来操作ES数据库。
直接在方法上面打上transactional注解。
这个问题回答错了,事后问了gpt说不能打事务注解。。
8.如何确保数据同步的?
回答了查询过去5分钟更新的数据。执行定时任务。
9。假设在这5min内另一个线程插入了一批数据(还没插入完),那么这数据不会产生冲突吗?
这个问题记不太清楚了(感觉面试官想表达这个意思),总之开始胡扯。。。说记录另一个线程执行完的时间,之后更新会以这个执行完的时间为准。
10.springboot常用哪些注解
4.18的面试,有些问题回答不好,引来面试官的轻哼
