日常实习java面经-陌陌,云从科技,字节跳动
陌陌一面(36min)
1.高并发情况下的解决策略
2.项目架构,项目如何解决并发量
3.异步队列是怎么解决的写压力大的问题
4.队列中消息是允许延迟吗,如果延迟的话怎么保证消息不被重复消费
5.怎么保证缓存和数据库双写一致
6.说一说进程所占的虚拟内存和物理内存是什么样的
7.jvm进程所占的虚拟内存和物理内存相差比较大是什么情况(物理内存不足)?
8.jvm进程所占用的虚存大于了虚拟机的堆栈设置参数,为什么不报错(可能是元空间的关系)?
推测答案:堆栈参数设置是堆栈的临界值,但是jvm进程占用虚拟内存的大小包括的范围不止堆栈,还有元空间,元空间实际占用的是本机内存,不会受到堆栈参数限制,如果虚拟内存过大是元空间造成的(且没有超过元空间的限制)而不是堆内存过大造成的,就可能导致虚拟内存大于堆栈参数但是进程并不报错。欢迎有更好的答案指点一下
9.如果自己实现一个事物的插入操作和删除操作的原子性,你怎么实现?(往mysql实现想)
10.什么是事物原子性?
11.Linux 从一个文件夹中找到文件名包含某些key的文件的命令
云从科技(一面60min):
问了15min项目,略过;
Mysql会使索引失效的情况
MySQL的隔离级别
Mysql怎么解决脏读,怎么解决幻读
举例MySQL发生死锁的情况
了解MySQL分区、分表吗?
分表的方式说一下
MySQL主从复制的实现流程
介绍一下常用的Linux命令
Linux /etc /usr这两个目录下分别存放的什么文件
什么是分布式session问题
常见的负载均衡的策略
MySQL的读写分离配置过程用到了什么注解
Redis内存淘汰策略
什么是Redis缓存雪崩?什么是Redis缓存穿透?
Javaconfig @applicationProperties 获取前缀的值注解
Java集合hashtable和concurrenthashmap的区别
Volatile关键字实现原理
Nio有哪些类
举例常用的字节流
创建字节流后,关闭有几种方式
Jvm运行时内存区有几块
SpringIOC注入bean有几种方式
AOP的实现
AOP中用到了哪些注解?怎么做切面的优先级(先走切面2,再走切面1)?
Jvm加载类的过程
Jdk中rt目录下的类是哪个加载器加载的
ArrayList和LinkedList的区别
ArrayList是线程安全的吗
ArrayList是有序的吗
Set集合的底层实现
平时用线程是直接new还是用线程池进行管理的?Jdk常用的线程池介绍一下?
缓冲线程池的存储结构,有上限吗
内存泄漏和内存溢出的区别
内存泄漏常发生在jvm的哪?
云从科技(二面38min)
Java面向对象特性介绍一下,类能否多继承?子类继承父类,会继承父类的所有属性吗?
设计模式熟悉哪些。适配器与袋里模式的区别
适配器模式有哪几种实现方式,使用适配器模式的优点
JVM内存分配策略,新生代对象晋升到老年代的年龄阀值默认是多少?
Eden区垃圾回收用什么算法?为什么用这个算法?
IOC AOP实现
说一下你自己实现的动态袋里是怎么写的
IOC中DI注入方式?如果在一个系统中有很多不同包下的bean名字是一样的,怎么解决注入时的冲突问题?(这些bean不分优先级)
Mybatis整合Springboot做表的操作时,环境搭建过程
说一下你用到的Linux命令
查Java进程的命令,查文件中关键字向下500行的命令
用什么命令打开大文件,比如5G这么大(不应该用vim,应该用grep范围查)
innodb索引种类
聚簇索引和非聚簇索引区别
事物隔离离别
介绍读已提交
Redis哨兵模式和集群模式区别
负载均衡算法 一致性hash说一下
会git吗?(不会!)
项目整个架构 优化思路
高并发情况下的解决策略
分布式系统概念
字节跳动实习一面(40min):
1.链表数组区别
2.写链表翻转(代码)
3.合并k个有序数组(代码)
4.HashMap实现原理
5.解决hash冲突的其他方法
6.生产者消费者模型的实现(堵塞队列,代码)
7.Linux查看CPU核数命令
字节跳动实习二面(35min):
1.Leetcode 121题 买卖股票的最佳时机
2.当前视频面试时,用到了哪些网络协议?
3.项目讲一下,参与了什么设计,什么流程?
4.手写mysql左连接查询,把表也模拟写出来,查询结果也写出来
5.Linux下一些根目录的命名规范介绍一下
6.你的学习目标是什么?还想学习什么技术?