奥马冰箱java开发一面
自我介绍,主要问了一下我这个专业为什么要来搞开发(交叉学科)
开始问项目(基于RAG的知识库问答助手),介绍一下项目流程,负责了什么,
● 用到了es,是自己写的吗(因为是学习项目包装的,不敢说自己写的,主要是没看es的八股,怕被拷打的说不出话),回答是实验室做完的项目,我主要是通过debug来学习,
● kafka起到了什么作用
● 最大的亮点和难点是什么
问八股:
java基础,问==和equals的区别,String为什么不可变
集合:了解hashmap这个数据结构吗
并发:用过哪些可以解决并发问题的工具->回答关键字synchronized,volatile和锁(主要是ReentrantLock),原子类(AtomicInteger、AtomicLong),并发集合(ConcurrentHashMap,CopyOnWriteArrayList)
接着问:除了锁和关键字,还有什么办法可以解决并发吗,因为锁比较影响性能,答了乐观锁,乐观锁的主要实现不依赖于锁本身,而是主要体现在业务逻辑上,使用版本号和时间戳来完成
JVM:了解运行时数据区吗,背诵八股
Mysql:
● 了解索引吗,介绍一个使用的场景,底层数据结构是什么,有哪些类型
● 事务了解吗,mvcc是什么
数据结构:了解那些排序算法,问时间复杂度
会前端吗,说自己会html,css,javascript,以及vue框架,结合AI编辑器(cursor)能进行简单的页面开发
聊了一下家庭,规划,本硕成绩,研究生期间参加过什么竞赛,拿了哪些奖项,目前投了面了多少家,拿了offer吗
结果:感觉你搞这个开发是可以的,我们面完之后会有个综合测评,后续有结果会联系你
大概记得这些,实际可能更多一点,,总体来说不难,简历上写的技术栈基本都问了一遍(好处是不会深挖),广度有深度没,项目拷打也比较轻松,传统行业开发让我找回自信