实在智能JAVA实习一面

八股

1.自我介绍

2.说一下java的锁(synchornized + ReentrantLock)

3.在java中他们都被使用到了哪些场景中 哪些组件中

4.concurrentHashmap 1.7和1.8并发上有什么区别(1.7锁分段,1.8锁节点,sychornized + CAS)

5.都是什么锁?(1.7 ReentrantLock,1.8 sychronized)

6.说一下JVM

JVM是java虚拟机,实现了java一次编译,多次运行,实现了跨平台;

JVM 是 Java 程序运行的核心环境,它把 .class 文件加载到内存,进行字节码解释或者 JIT 编译,同时负责内存管理和垃圾回收。

7.说一下垃圾回收机制

这种让你讲一下XX概念,可以先从宏观的角度去讲清楚概念,再展开一些通用的方案,最后寻求面试官建议,可以将一些具体的细节,比如

垃圾回收的话一般我们指的就是一种动态的内存管理机制,在 Java 中是 JVM 这一层负责实现的,常见的 GC 相关的概念大体可以分为这几类

比如如何判断垃圾对象的,如引用计数,可达性分析、三色标记法 balbal

如何对垃圾对象进行回收的算法,标记清除,标记整理 balbal

在 JVM 层不同 JDK 版本,默认的 GC 也会一些差异,常见的 GC 垃圾回收器有 xxx xxx

8.多标、漏标现象了解吗

(多标:原本应被回收的白色对象,被错误的标记成了黑色的存活对象,从而导致这个对象没有被GC,产生了浮动垃圾,影响不大

漏标:原本应该是黑色的存活对象,但是没有被正确的标记上,导致被错误的GC,影响很大

CMS中解决漏标:增量更新,G1中解决漏标:原始快照)

9.如何自定义一个starter

(添加springboot依赖、实现自动配置、创建配置类入口文件)

10.mysql有几种日志

11.所有的存储引擎都有这三种日志吗 (myISAM没有undo redo 只有binlog)

12.这三种日志都是拿来干嘛的

13.你知道redolog的二阶段提交吗

(二阶段提交是为了更新mysql过程中,保证redolog和binlog数据一致性的一种手段

分为三个阶段:prepare阶段、binlog持久话、commit)

14.innodb引擎的索引结构

15.建立一个a,b,c索引,在b + 树上是怎么存储的,或者是它为什么一定要遵循最左前缀匹配原则

(a,b,c联合索引,只会创建一个索引树,叶子节点存放这三个字段+id值,但是是按照a,b,c这个顺序存储的,在构建的时候,会先按照a排序,a相同再按照b,b相同再按照c排序,所以要求你在where查询的时候,要包含最左边索引。)

16.如果一个字段是status 它的值只有0和1,这种情况你觉得要不要加索引

(正常情况下像男女这种字段,数据库中数据量各占差不多一半,加索引后mysql查询的时候因为过滤不掉太多数据,mysql优化器就直接走全表扫描了,这种情况加索引反而会有存储上的压力。

但是假如这两个字段区分度很大,比如任务类型的表,5%的数据都是待执行的任务,95%都是已完成的任务,那我们加索引,还是可以大大提高查询效率的。)

这种情况大部分直接就说区分度不大不走索引了,但是我觉得这种特例说一下可能会加分,当然有的面试官也可能觉得你话多

17.说一下各个版本的http

(http1.0:tcp+短连接,效率很差

http1.1: 默认长连接、请求管道化、新增host字段

http2.0: 支持请求和响应的并发传输、头部压缩+二进制格式提升传输效率、支持服务器主动推送资源

http3.0:传输协议不同,tcp->udp、quic协议建立连接更高效、网络切换时不需要重新建立连接)

18.假设MQ,通过路由方式进行消费,不是广播,由于上游业务流量突增导致消息堆积,怎么处理,注意是生产环境,上游已经疯狂告警了,现在怎么办

(这种线上故障排查整体回答思路:降级->解决->避免

降级:因为是路由形式,可以直接加机器扩容消费者实例,增加消费能力,快速把堆积的任务消费掉。

解决:临时止血解决后,接下来就是排查代码里哪里出现的问题导致的消息积压,比如可以提升消费者消费速度、降低生产者生产速度、清理过期消息、调整配置增加topic

避免:举一反三,故障后问题复盘,组会复盘)

实习部分略

反问:公司做什么的->给企业做rpa,agent

面筋(烤面筋) 文章被收录于专栏

烤面筋~烤面筋~三元一串,五元两串

全部评论
无敌诨号鸭
1 回复 分享
发布于 07-18 21:03 浙江
有些问题写的不对的 有佬有更好的思路的 欢迎评论区指教
1 回复 分享
发布于 07-18 16:55 加拿大
接好运
点赞 回复 分享
发布于 08-06 00:06 广东
屈才了大佬
点赞 回复 分享
发布于 07-21 12:44 江苏
没有手撕算法吗?
点赞 回复 分享
发布于 07-21 00:13 四川
实在智能之前二面挂了
点赞 回复 分享
发布于 07-20 16:16 北京
mark学习
点赞 回复 分享
发布于 07-19 10:52 河北

相关推荐

昨天 17:04
已编辑
华南理工大学 golang
📍面试公司:传音🕐面试时间:10.13💻面试岗位:go开发❓面试问题:本来以为一面就是问问八股,结果全程拷打项目1.数据迁移是冷迁移还是热迁移啊?2.讲一下数据迁移的背景,怎么进行的?3.你们是使用了什么中间件吗?为什么使用了中间件还要停机?4.讲一下AI对话从前到后的整体的架构流程5.调用大模型那块的prompt是怎么去做的?你们拼接系统提示词和用户上下文的时候没有做一些优化吗?这个不是很清楚怎么优化,再了解了解6.用到了哪些大模型?7.为什么要使用分布式锁?8.讲一下状态机机制怎么实现的,怎么管理状态和用户,这块是怎么做的?9.es怎么进行语义检索10.MySQL索引失效场景?11.kafka的ACK机制12.kafka怎么实现这么高的性能的?13.协程池在项目里面怎么使用的,为什么要用协程池?14.你平常是怎么在自己实现的代码里面考虑健壮性的?答了一些平常自己用AI辅助编程的步骤,感觉没答到点子上,如何面试官问从内存和性能的角度来考虑,我说一般会通过监控系统,看接口响应速度,内存使用情况,对象池等等15. 一般是怎么调试GO程序的?这里不太清楚,实习的时候使用的是windsurf,没打过断点直接打印日志...(是不是太笨了,听说过Skywalking但是没用过)16.怎么看内存消耗在哪个地方上了?说Linux的top命令,面试官说这个应该看不太清楚。直接承认实习的时候没有怎么关注过这部分内容17.讲布隆过滤器18.面试官想问一些es的内容,但是撤回说算了不问了19.有没有了解过MCP,智能体,coze?20.为什么ChatGPT之后还要agent呢?解决了什么问题?21.问了下学校在哪里,如果拿到offer能不能来实习🙌面试感想:面试官人很好,不压力本来说让二面去线下面试,我说我人在广州呢怎么去重庆,HR电话里面说那么流程就没办法推进了。过了一会又打电话过来说申请了一下可以线上面试了。。二面奇奇怪怪的,整体感觉像是HR面,问问对传音的了解,实习经历,问了问我们公司的一些产品,说了以后笑了笑说没听过三面应该是主管面,看着很和蔼一中年大叔,主要是聊聊项目,然后对AI的一些讨论。HR面我以为二面就是HR面了,结果又整了个HR面,搞不懂了。我看别人二面都谈薪了,我这里竟然搞了四面。HR面完一周了也没消息,不过听说重庆开不了太高,打算拒了。
查看20道真题和解析
点赞 评论 收藏
分享
评论
19
89
分享

创作者周榜

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