穗彩科技 Java后端初级 base深圳 一面挂
女面试官水平很高,我这个非科班被狠狠按在地上捶打40分钟。而且还没有深挖拷问实习和玩具项目,也没有硬上极端场景和系统设计。而且八股也只是问得广,没有深入进去讨论原理,没问计组、操作系统和网络。只是表面的使用方法。就这样,我都感到和科班很大的差距。革命尚未成功,同志仍需努力。继续刷算法SQL,继续海投练面。
更新,我之前投错了,这个岗位不是暑期实习和校招,是正式社招。面试官本来想拷问一下我的实习,但是发现对于她的水平来说,我做的事情过于简单,所以最后就变成八股场景系统设计轰炸了。怪不得没有408原理。。
- 介绍实习业务,具体负责模块。与测试之间的沟通。
- Spring Boot IOC/DI,控制反转和依赖注入的相关注解。
- Spring IOC和AOP的实际应用,哪些场景适合用这个?
- 依赖注入的两种方式,哪个用于第三方包?
- SpringBoot自动配置原理。
- Spring AOP常用注解,基本概念。
- Spring读取配置文件的两种方式。
- Spring事务有哪些声明方式?Spring Boot常用哪个。
- 同时在一个包的两个Service类互相调用,该用哪个DI注解?
- @Autowired和@Resource区别?优劣?
- AOP底层原理,JDK动态代理和CGLIB动态代理区别?
- 项目中用多线程。引入线程池的好处,不用线程池的问题。
- ThreadLocal隔离线程。常见应用场景。
- MySQL聚集索引的特征。innoDB和MyISAM引擎对比,他们底层的聚集索引有什么区别?
- SQL调优,子查询和联表查询的效率。如何排查慢查询?
- 如何建索引。有哪些常见索引?
- 索引失效的情况。如何避免索引失效。如何判断查询是否走了索引?
- 关联查询,左表体量比较大,应该用哪种连接?并详细说明原因。
- 有没有了解过“硬查询”?
- 数据库事务,常见四种隔离级别和对应要解决的并发问题。
- 什么场景下容易诱发“读未提交”。
- MySQL常见日志,比如二进制日志,有什么作用?消息队列监听binlog的目的。redolog持久化机制。
- 主从复制、冷热分离、读写分离、分库分表的概念。MySQL集群间的同步机制,如何确保数据一致性?
- 垃圾回收机制,常见算法,常见回收器。相关内存区域
- 需要被删除的对象是在新生代还是老年代里面?
- synchronized关键字原理和作用,如何保证线程安全?
- AQS具体原理。和CAS乐观锁有什么异同
- 常用集合框架,比如HashMap,简单谈谈原理。是否线程安全?谈谈和ConcurrentHashMap的异同
- HashMap计算散列值,如果发生哈希碰撞,应该如何解决?除了常见的拉链法
- 如何遍历哈希表?能否在foreach循环中直接删除相关键值对?你删了会报什么错
- 线程常见状态,说明它们之间如何转移。如何不用同步锁机制来预防死锁?sleep和wait都交出锁吗
- Redis常见的三个线上生产问题,相应解决办法?实习过程中实际排查过这些问题吗?
- 要解决缓存穿透,可以上布隆过滤器。那比较缓存空值和布隆过滤器的优劣。
- 大KEY和热KEY问题有没有了解?解决方法有哪些?
- 场景题:上线后,某个模块多次发生缓存击穿。如何排查键失效原因?
- 系统设计:要让你存购物车,如何选择对应的Redis数据类型。哪个更省空间?
- 除了旁路缓存模式,还有哪些常用的缓存更新策略?先更后删以及“先删后更+延迟双删”,哪个好
- Redis串行化机制。延伸到Java串行化机制。
- 用过Redisson分布式锁吗?有没有试过消息队列用法?它用了生产消费模型,那能不能用观察者模式?
- 如何确保Redis集群数据一致性?同步机制有哪些?除了用锁,能用分布式事务吗?微服务组件的实现
- Redis单线程却速度很快,为什么?IO多路复用原理,相关套接字如何通信?Netty和Reactor模型?NIO?
- Redis哪些地方用到多线程。这些无关紧要的地方为什么要考虑引入?关键IO操作为什么还是单线程
- JVM调优,调的是什么?要优化哪些方面。实习中有涉及相关内容吗
- Linux查看日志的命令,修改日志。要进行相应的正则匹配,按行修改,甚至按列或者按域修改,相关命令
- 场景题:系统资源占用飙高,包括内存和CPU,如何排查对应进程?如何精确到线程?哪些代码块会导致死锁
- Cookie、Session和Token的区别,具体加密方式?了解过双Token和SSO单点登录?知道Shiro框架和RBAC模型吗
- 实际工作中用了Git和SVN,那对比一下区别。然后说一下有没有用过Git高级特性,比如CherryPick。
- 常见敏感词过滤方案和数据脱敏方案。如何减少敏感词误杀率,并且使得脱敏保留一部分数据原有特征
- 说说分布式系统,CAP定理了解吗?分布式和微服务有什么联系,还有常用组件的概念。比如Nacos心跳机制
- 介绍一下常见API网关,然后结合接口防刷机制来谈谈API网关应该如何配置。
- 分布式ID常用生成方式,优缺点。目前市面上有没有大厂的成熟解决方案。各有什么特点
- 用过哪些分布式任务调度?Spring Task和xxl-job的差异。分布式定时任务实现方式。
- Dubbo的RPC调用和OpenFeign的HTTP调用都能实现远程调用,你在项目中用了哪一个?原因?ZooKeeper和Nacos哪个更适合做注册中心?
- CDN和负载均衡听说过吗?Nginx常见应用。负载均衡算法和跨域登录问题。
- 限流降级熔断和超时重试机制听过吗?有哪些常用的限流策略?令牌桶算法和MinIO里面的桶一样吗?
- 实时消息推送除了常见的webSocket,还有哪些方式?feed流和推模式的区别,联系
- 用过消息队列吗?Kafka和Rabbit对比。如何确保消费顺序?如何避免消息丢失和消息积压?
- 用过搜索引擎吗,ES的倒排索引和常见分词器。搜索引擎和数据库的同步方法,Canal听过吗?
- 系统设计:设计一个分布式秒杀抢购系统,需要考虑哪些方面?从分布式高性能高可用三个维度说。如何扛住高并发场景,并且尽可能保证数据一致性,让系统易于扩展,同时兼顾用户体验。
- SQL题:有三张表,一张是学生表,一张是班级表,一张是课程,课程分数表,要求查出每个班级的课目的平均分数。
- 场景题:现在加大三张表的数据量,现在查询中发生了死锁,如何排查并使其正常返回查询结果。
- 是否了解过DDD架构?什么叫领域驱动设计。相比于传统的三层架构,有哪些优劣。这两个架构和MVC模式的结合方式。
- 算法题:现在有十个数,每个数有一个百分比,就是百分比占比,比如说一占比百分之二,二占比百分之五,以此类推,然后按照这个权重,随机出一个数。也就是加权随机抽样算法。
- 对AI和大模型是否了解?知道Spring AI Alibaba和Langchain4j这些吗?是否用过cursor这些代码生成工具。Agent、Prompt、MCP之间的联系。