头条java 后台一面凉经

连接:https://www.nowcoder.com/discuss/142537html

下午三点视频面:一上来怼jvm和gcmysql

1.讲讲jvm运行时数据库区

https://blog.csdn.net/strawqqhat/article/details/88807835面试

2.讲讲你知道的垃圾回收算法

https://blog.csdn.net/strawqqhat/article/details/88129909#%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E7%AE%97%E6%B3%95redis

标记清除,复制,标记整理,分代回收。算法

3.jvm内存模型jmm 知道的全扯了一遍

4.内存泄漏与内存溢出的区别

https://blog.csdn.net/strawqqhat/article/details/88817163sql

5.什么时候会STW,全部垃圾回收器都会有STW吗

答案:都有stw。数据库

包括缓存

1.1 Young GC类算法:Serial Young GC(DefNew)、Parallel Young GC、ParNew GC;服务器

1.2 Full GC类算法:Serial Old GC、PS MarkSweep GC / Parallel Old GC、Full GC for CMS算法、Full GC for G1 GC算法;并发

1.3 G1 GC算法:Young GC/Mixed GC 是stw的;

2. CMS算法是怎么回事呢?

2.1 CMS(Old)GC算法只在初始标记(initial mark)和再标记(remark)阶段stw一下;

2.2 相似的,G1 GC算法在其标记阶段某几个时段是stop the world的,好比初始标记(initial mark)、再标记(remark)、清理(cleanup)阶段;

6.mysql数据库默认存储引擎,有什么优势

InnoDB 引擎

MySQL 5.5 及之后版本中的默认存储引擎,他的优势以下:

灾难恢复性好
支持事务
使用行级锁
支持外键关联
支持热备份
对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一块儿的,数据按主键的顺序物理分布
实现了缓冲管理,不只能缓冲索引也能缓冲数据,而且会自动建立散列索引以加快数据的获取
支持热备份
MyISAM引擎

特性以下:

不支持事务
使用表级锁,并发性差
主机宕机后,MyISAM表易损坏,灾难恢复性不佳
能够配合锁,实现操做系统下的复制备份、迁移
只缓存索引,数据的缓存是利用操做系统缓冲区来实现的。可能引起过多的系统调用且效率不佳
数据紧凑存储,所以可得到更小的索引和更快的全表扫描性能
MEMORY 存储引擎

提供内存表,也不支持事务和外键。显著提升访问数据的速度,可用于缓存会频繁访问的、能够重构的数据、计算结果、统计值、中间结果。

缺点以下:

使用表级锁,虽然内存访问快,但若是频繁的读写,表级锁会成为瓶颈
只支持固定大小的行。Varchar类型的字段会存储为固定长度的Char类型,浪费空间
不支持TEXT、BLOB字段。当有些查询须要使用到临时表(使用的也是MEMORY存储引擎)时,若是表中有TEXT、BLOB字段,那么会转换为基于磁盘的MyISAM表,严重下降性能
因为内存资源成本昂贵,通常不建议设置过大的内存表,若是内存表满了,可经过清除数据或调整内存表参数来避免报错
服务器重启后数据会丢失,复制维护时须要当心
若是选择合适的引擎?

是否须要事务支持
是否为高并发,InnoDB实现了行锁,这方面的表现大大优于MyISAM
索引,不一样存储引擎的索引实现不一样
是否须要外键
高效缓冲数据,InnoDB缓冲数据而MyISAM只缓冲了索引
备份,是否须要支持热备份

7.优化数据库的方法,从sql到缓存到cpu到操做系统,知道多少说多少

参考:http://www.javashuo.com/article/p-rtgonhfq-en.html

8.什么情景下作分表,什么情景下作分库

https://blog.csdn.net/strawqqhat/article/details/88818291

9.linkedList与arrayList区别 适用场景

https://blog.csdn.net/strawqqhat/article/details/88818522

10.array list是如何扩容的

https://blog.csdn.net/zymx14/article/details/78324464

11.String str = new String(“abc”)的操做有几个对象产生

https://blog.csdn.net/strawqqhat/article/details/88818628

12.手撕代码 删除链表中全部重复元素

https://blog.csdn.net/strawqqhat/article/details/88819261

13.怼项目 秒杀模块怎么设计的,如何压测,抗压手段,如何保证数据库与redis缓存一致的,消息队列怎么用的

(一小时左右)

结束 面试官说三天内给消息?

相关文章
相关标签/搜索