拼多多实习一面挂
沾衣欲湿杏花雨,吹面不寒杨柳风。
自我介绍
ROJ
-
这个 OJ 代码练习平台是你们学校的什么 OJ 吗?
-
什么叫用 process 流啊?
自己解释了一遍,正确解释:
Process
类用于启动和管理外部进程。Process
流则是指与这些外部进程进行输入输出交互的流使用场景
- 执行系统命令并获取输出
- 与外部程序交互,发送输入并读取输出
示例代码
1
2// 启动外部进程(例如:列出目录内容)
Process process = Runtime.getRuntime().exec("ls -l"); -
你项目中提到的docker代码沙箱,docker底层是怎么做到隔离环境的?利用了linux底层的什么机制?
没有了解过
Docker 通过以下 Linux 内核机制实现环境隔离:
- Namespaces(命名空间):隔离进程、网络、文件系统等。
- cgroups(控制组):限制资源使用。
- Union File Systems(联合文件系统):管理镜像和容器文件系统。
- chroot(改变根目录):隔离文件系统视图。
- Capabilities(能力机制) 和 Seccomp(安全计算模式):增强安全性。
这些机制共同作用,使 Docker 能够高效、安全地运行隔离的容器环境。
后面问到的问题都是挂载本地目录的问题,比如安全性,当时脑子抽了,明明没有挂在目录的,是通过一个回调函数获取docker里的执行结果最后再和answer一一对比的,不涉及docker挂在目录的问题
算法
区间求交集(区间做闭右开)
leetcode986. 区间列表的交集的变式题
1 | public class Main { |
Ztimer
-
为什么要设计mysql+redis这样的两级存储结构?
-
二维分片什么意思?
-
http调用时间很长或者也无妨的服务挂了怎么办?
-
按照你说的这个key value score的设置并没有达到秒级的精度啊,同一分钟五秒之后再触发岂不是把之前的覆盖了
这个问题当时脑子抽了,value其实是timerID + 时间戳,肯定是能唯一确定的,太不应该了
反问:
-
啥时候出结果
-
哪些方面需要提升?
对啊,就是说你,我刚才这一问我就发现了你这个地方有漏,你说这个秒级,对吧?那你说明那个其实没有达到秒级,所有的 case 你都覆盖到了,对吧?一开始设计会漏掉是很正常的,但是如果测试没有覆盖的话,其实就不太应该,因为想就想一个测试 case 应该还是比较比,就最开始要设计要一个完备性,要更简单一点。嗯嗯,OK,对,所以就是说有实际的需求很好,但是做完之后不仅要停留在这个代码,实现上面测试也很重要,就是它是可以帮你去发现你设计当中的缺点和不足的。嗯,如果没有这个的话,相当于你缺少一个自我复盘的构成。(os:脑子抽了,这是个很低级的问题)
对,在做个人项目的时候特别容易遇到这个case,但如果你这个项目如果真的会上线的话,你有别的使用方,那别人自然了会给你吐槽,因为现实世界当中的需求还是真正的需求,他们会真正的去跟你说这个地方哪里不对,会发现你的bug,你都不用测试他们就发现你bug,对吧?只不过说在一些关键性项目里面,你肯定需要通过测试来提,来避免上线之后产生的一些很恶劣的影响。