武汉高途后端开发面经 1.5h

主要写了我没有回答好的内容,其他都是普通八股+项目

1.callable和runnable的区别

我就回答了,callable可以携带返回值,runnable不能携带值。其他就不是很了解

2.如果有这个场景,平时线程池只需要调用两个核心线程就能实现所有任务,但是在高并发的时候,显然需要更多的核心线程,比如,我们可以可以不急着把任务放到等待队列,反而是增加核心线程数去执行,再放到任务队列中,你会怎么解决?

我就回答了,可以创建两个线程池,分别应对冷热场景,然后手动进行调整,冷的时候用核心线程少的,热的时候用核心线程大的

3.HashSet的去重,源码是如何解决的?

不太了解,当时就说了,可以通过比较是否是相同的,如果key相同的话就不能存储。

4.thread 的start和run的区别?

这个一点都不知

5. 先问了threadLocal,然后问了线程threadLocal的可见范围,以及如何让其他线程去看到这个线程的threadLocal值

我就回答了使用volatile修饰,然后进行数据共享

手写算法,写的是excel数字转字符,比如1=A,2=B,26=Z,27=AA

当时想的就是转26进制,忘记考虑边界条件了,比如26%26 = 0,0+'A'-1 = 'z'(小写),其他没啥问题

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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