百度java后端实习一面 4.23
百度地图组 50min 无算法
1.自我介绍
2.项目拷打
3.项目-项目上线or还是预研
4.项目-项目怎么迭代,你是下发任务的,还是合作任务的
5.项目-怎么合作任务(主要问接口文档怎么写的)
6.项目-spark是什么写的,为什么不用scala
7.用过spark什么算子你感觉特别惊艳,其算子源码是怎么写的
8.问了一个奇奇怪怪的算子,可能是我没用过,也可能是没听懂他发音(x)
9.在一个大型项目中,有很多spark任务,你会让spark任务怎么进行管理,你怎么知道任务执行到什么程度,你怎么控制任务的提交和撤销
10.项目-讲讲redis,为什么项目里在持久层和用户间引入一层缓存
11.项目-nacos干啥用的,你项目里怎么用的
12.nacos怎么对配置分级管理
13.讲讲es等存储引擎
14.为什么在海量数据检索的场景下,我们一般选择这种引擎,而不用mysql等关系型数据库
15.讲讲mysql索引建立的场景
16.怎么分析一个sql有没有走索引,走到什么程度
17.对docker和k8s了解情况怎么样
18.docker内外端口映射怎么实现的
19.k8s的几个配置文件讲讲(x)
20.我们知道java的一些数据结构在多线程场景下扩容的时候都会有问题,什么数据结构在扩容的时候分别有什么问题
21.对应的java是不是提供一些不会有问题的数据结构
22.假设有一个业务逻辑,需要执行完A,B,C三个子任务完才能结束业务,你会怎么考虑实现过程
23.假设这个逻辑是一个面向用户的逻辑,需要多次调用,除了开子线程+countdownlatch/cybbier,你想要提高这个服务的性能,你会考虑怎么做
24.如果想要保证A,B,C内部任务执行的有序性,你在创建线程池的时候,需要额外干什么
25.这个业务就一个函数,这个函数需要执行完A,B,C三个子任务完才结束,在这种情况下,你会用jdk提供封装好的什么线程池,为什么(x,猜了cache和schedule都被否了,不会是single吧)
26.我们知道jdk提供了很多锁机制来保证并发安全,其中syn是一个用的最广泛的,那么,syn锁的是A.class的时候,这个时候锁的粒度是什么样的
27.A a = new A(),syn锁的是a的时候,这个时候锁的粒度又是什么样的
28.syn锁的是方法的时候,相比于锁实例对象和锁类对象,他有什么不一样的地方呢,在底层字节码是怎么保证锁的进入和退出的
29.我们知道jdk版本衍进过程中,jdk对并发上做了很多优化,请讲讲类似自旋锁等各种jdk采用的并发无锁优化的技术
30.你讲了分段锁,那你讲讲为什么分段锁被concurrent废弃了,为什么不能在cas和syn上层再用分段锁优化呢
31.你提到了偏向锁和轻量级锁,那你讲讲syn锁升级的过程是怎么样的
32.如果需要你研究个新技术,你会怎么办,你周围的同学都对这没咋接触过
33.项目-你来思考下,你的项目里怎么引入GPT,除了GPT作为和用户的交互,能不能把核心代码逻辑直接交由LLM负责,你不需要咋写代码了,只保留数据存储层?-蚌埠住了,什么先进技术,百度AI不亏遥遥领先
#百度##字节跳动##腾讯##阿里巴巴##java#