实在智能日常一面(全程高能,无八股)

日我介绍

Java和Go的主要区别点

给你一个需求应该怎么做,怎么分析呢(说的不好)

问一点Java基础相关的(.........后面全是高能一点也不“基础”)

completableFuture和直接new Thread的区别(说的不好,completableFuture有对应的回调方法以及一些更细致的操作需要配合线程池使用,new Thread会简单的创建一个线程,在调用.start()会异步执行)

(上个问题说new Thread会阻塞主线程执行,但是其实不会)

一个代码首先主线程打印A、B然后创建一个new Thread打印1,2 ,主线程在打印C、D最后的输出结果是什么样子的(先会输出ABCD,在输出12)

并行和并发的区别,一个核会否会并行执行

springboot和springcloud都是干什么呢(听录音才知道把自动装配说成依赖注入了!!!!)

比如我们公司内部有很多包,怎么去做这个自动装配呢

项目中可能会用到很多消息队列(kafaka、rabbitmq、rocketmq....)好多种,然后根据自动装配然后去选择一个类型进行注入,但是如果出现自动装配的类有冲突怎么办(使用@EnableAutoConfiguration(exclude={冲突类名})但是具体参数忘记了)

Nacos的配置中心怎么做的呢

Nacos中的A,B两个服务应该怎么互相调用(说的通过OpenFeign但是具体操作忘了,实际就是被调用方的接口需要通过FeignClient(name = "service-b"))

ThreadLocal在你项目中的使用是怎么样的,说一下整体的流程

那我如果创建一个异步的线程那么这个数据会进行传递呢,为什么,怎么解决(inhert...还有TTL(TransmittableThreadLocal)解决但是说可能不太对,我刚刚搜了一下就是通过TTL解决啊,还有其他方案呢)

那如果是我的服务A怎么像服务B区传递对应的数据呢(说的openfeign的拦截器,具体实现也是忘记了。实现RequestIntercept接口重写apply方法)

ThreadLocal的实现原理

消息队列的一个需求,我的生产者中有一个全局变量,怎么传递给消费者(说的放到消息体中传递,但是和他的预期不太一致,说可以但是还有啥,没想到他说可以放到消息头中会更符合实际)

mysql中,我的每一行数据都是1kb那么你觉得我这个数据库可以存储多大的数据(说的2000w看的博客写的是这样的,但是实际不了解)

说你说的2000w是正确的但是为什么会这样的呢(说的树的高度和链表长度问题,但是可能不对,引导了我好久和我说是每次从磁盘读取次数的问题)

有一个需求,对于7-8个字段进行排序,然后获取到一行最大的数据,我怎么能提高我的查询速度,在请求量特别大的时候(说联合索引,并不会提升会多,面试官和我说将这些字段按照一定的算法进行合并为一个id字段,对于这个id进行创建主键索引)

#面经#
全部评论
不会来接替我的hhh,今天lastday
2 回复 分享
发布于 02-14 14:25 浙江
160一天问这么难
2 回复 分享
发布于 02-14 15:53 北京
确实好难 abcd那个算法 不会出现12先打印的情况吗 为啥一定是主线程先打印呢
1 回复 分享
发布于 02-14 13:50 北京
后半部分一模一样,可惜没看
1 回复 分享
发布于 02-24 15:08 浙江
好难
点赞 回复 分享
发布于 02-14 23:39 陕西
主线程、子线程本质都是OS的两个线程,还是要看OS对他们的时间片分配吧(如果多次执行) 如果只一次执行因为主线程打印abcd很快,时间片完全够用,所以结果大概率都是abcd12 public static void main(String[] args) { for(int i = 0; i < 10; i++) { System.out.print("AB"); new Thread(() -> { System.out.print("12"); }).start(); System.out.print("CD"); System.out.println(); } } 某次运行的结果 ABCD ABCD AB12CD AB1212CD ABCD AB12CD ABCD ABCD AB12CD AB121212CD 1212
点赞 回复 分享
发布于 02-16 20:56 湖南
点赞 回复 分享
发布于 02-20 10:09 北京
感谢佬的面经,早上十点钟约一面,抱一下佛脚
点赞 回复 分享
发布于 03-01 01:21 江苏

相关推荐

评论
9
41
分享

创作者周榜

更多
牛客网
牛客企业服务