慧策秋招Java一二面凉经

一面:

1. 对JVM初步的理解

2. JVM内存模型

3. 代码的运行过程描述一下

  • 编译成字节码文件
  • 虚拟机二进制文件
  • 运行调动对应的操作系统

4. 说下了解集合类

只说了Collection:List和Set

Map也是集合类!!!

5. 用的比较多的? List。

6. subList方法有没有用过?(对List进行裁剪) 没用过

7. 如何对List数据进行删除?

答:遍历找到下标,出来通过下标删除。

那不就两遍循环了

答:遍历,判断,remove()方法

上手敲一下-----会报错!!!!

怎么解决:用迭代器去处理就不会有问题了

8. 你知道哪些MySQL方面的知识

开始吟唱八股……存储引擎,索引,ACID,隔离级别

一个人吟唱了11分钟

9. 功能已上线,比如说数据库cpu比较高,怎么去定位当中的问题呢

10. 定位到某条sql,怎么知道这条sql问题出在哪

答:explain:type,possible_key和key

还知道其它吗?

11. 一条sql扫描了100w条数据,除了建索引,还有什么方法?

提示:区分度大的前提:业务匹配 不用性别做索引

  • 1. 选用区分度大的列:如不选用性别,选择日期等等
  • 2. 避免使用select *
  • 3. 简化 WHERE 子句,避免使用复杂的计算或函数调用,尽量使用明确的值的范围
  • 4. 尽量使用inner join
  • 5. 分区表,按照某些条件(如日期)将不同表分区,减少查询的表
  • 6. 在不需要返回所有数据的情况下,使用limit和offset,返回部分数据

12. ACID事务实际使用

13. 事务失效的情况

14. 一个事务里的sql,另一条sql没有事务,是ACID里面的哪个

那能不能查到事务里面没有提交的数据?

不能,spring事务默认是数据库默认隔离级别,可重复读

如果我想让它查到呢?做法是不安全的 修改事务的默认隔离级别为读未提交

15. 手写sql

Order:oid,time ,uid

OrderDetail:oid,gid, num

Goods:gid,name

Select distinct name ,sum (num),

from order o

join orderdetail od on o.oid = od.oid

join goods g on od.gid = g.gid

where time between 7 and 8

and uid = 1

group by gid

16. 当前sql慢在哪个地方?换个问法,怎么让它加快,索引加哪?

建立一个time 和uid的联合索引。

二面:

MySQL拷打

1. 平常对SQL优化的了解

2. 知道的数据库索引有哪些

3. 索引合并和索引下推了解过吗 没有

4. 索引最左前缀匹配法则

5. 索引的优劣势

需要维护:数据库读写,读的效率高了,写的效率相对降低一些

6. 有无实际SQL优化经验

7. Join用的多吗

8. Join怎么提高查询性能?怎么建索引能够让查询效率最大呢

涉及到连接查询时建索引的一些基本规则

9. 1)不用联查怎么从两张表中拿到数据(自己前面挖的坑) in

简单点说就是:遍历a表集合取出b表数据

2)代码层面怎么处理?组装数据的流程?

两种方式:①循环遍历a,a中循环遍历b,挨个循环比较匹配b表数据则取出

②Map(key为主键,value为数据),将b中数据放入map中,a直接通过map去获取

3)分析两种做法的优缺点:

第一种复杂度高 第二种空间换时间 线程不安全,并发(跟这个没关系,不可能并发,除非用到jdk8的并行流)

10. JDK8的并行流了解吗

11. JDK相关的并发工具类了解吗?

12. 多线程有哪些类可以实现? 线程池了解哪些?

13. JDK8并行流底层Fork/Join和Future机制了解过吗

14. 对JVM的了解?垃圾回收器对哪个比较熟悉?

15. G1内存分布了解吗

16. Spring、SpringBoot挑点擅长的讲讲

吟唱两分钟

17. Spring启动干了哪些事情,比方说IOC,干了哪些事情到能提供给使用方去使用

18. Bean从创建到销毁的过程

19. 追问:BeanNameAware和ApplicationContextAware是在什么时候生效的

20. 更想听到整体的一个启动流程

面试官开始吟唱

Spring早期借助xml文件,现在借助注解,启动前的解析过程,需要对应的解析器做对应的处理,解析器最后生成标准的反参,反参里面将对应的bean解析成相应的一些元数据,涉及到类对应的元数据,方法对应的元数据,还有在BeanFactory里面的一个Map

21. 这个Map有关注过吗,用什么?HashMap可以吗?

面试官开始吟唱

读 :ApplicationContext getBean去获取

写 :项目启动过程中,串行做解析,创建beanDefinition往map中去放,会出现并发问题

所以底层用的是ConcurrentHashMap

22. Springcloud有了解吗

23. 有阅读过框架的源码吗

24. Redis了解吗?项目中的实际使用

25. Redis的分布式锁

26. 了解rabbitMQ外其它的消息队列吗

#慧策(掌上先机)##慧策{北京掌上先机}#
全部评论
真强
5 回复 分享
发布于 2024-10-17 16:18 广东
是当场约的二面吗?
点赞 回复 分享
发布于 2024-10-21 20:47 北京
强度这么高吗
点赞 回复 分享
发布于 2024-10-17 15:08 陕西

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
8
43
分享

创作者周榜

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