数字马力二面面试总结
24.03.07数字马力二面面试总结
前段时间找工作,做的一些面试笔记总结
大家有面试录音或者记录的也可以发给我,我来整理答案呀
数字马力二面面试总结
- 24.03.07数字马力二面面试总结
- 你可以挑一个你的最有挑战性的,有难度的,最具有复杂性的项目,可以简单说一下。
- 有没有和算法工程类的合作?
- 每个项目的时间都很短是为什么?
- 你们现在的mysql是单机部署吗还是?
- 他的数据量大概有多少?
- 定时任务,有自己的理解吗?有看过它的实现吗?
- xxl-job接入过程中,使用过程中有没有遇到过什么问题?
- java的类加载机制你了解吗?
- 类加载器有哪些
- 或者说它有一个双亲委派模型你听说过吗
- 垃圾回收你谈一下你的理解吧
- jdk1.8 使用的垃圾回收机制是什么,默认是什么
- jdk8之后出来一个新的垃圾回收机制 G1垃圾回收器,有听说过吗
- 排查问题和讨论的经历吗?说一下,比如说cpu暂用过高啊,内存溢出啊,具体的java命令你能说一下吗,或者具体使用的工具
- 线程池你有了解过吗
- CompletableFuture
- 算法异步消息通知我们不是减少开销吗
- mysql的索引你知道那些
- 为什么用b+tree 不用b tree呢
- 最前缀匹配原则听说过吗
- 最左匹配原则
- redis的实际使用
- redis都有那些类型
- 公司有多少人
你可以挑一个你的最有挑战性的,有难度的,最具有复杂性的项目,可以简单说一下。
在光宇的时候,做数据抓取那一块的时候,因为每秒去抓取一次数据,抓取到数据之后,需要加载超时关键字,辱骂关键字,和群聊中的数据做匹配。就获取了数据库中的数据用arraylist接收。
https://cloud.tencent.com/developer/article/1144256
-
确定频繁pull gc现象
虚拟机进程状况工具:jps 找出最主要的虚拟机进程 最主要的是找出这个进程在本地虚拟机的唯一IDjps -l
-
根据名字确定一下进程
ps aux |grep name
-
虚拟机统计进程工具:jstat 监视虚拟机各种运行状态信息
jstat -gcutil id 1000
jstat的执行结果 S0 S1 分别代表两个survivor区,
E代表Eden新生代区,
O代表old老年区,
YGC代表minor GC 新生代发生的gc次数,
YGCT代表新生代gc所用的时间,
FGC代表Full GC 老年代发生的gc次数,
FGCT代表老年代gc所用的时间
GCT代表总耗时 -
找出频繁full gc的原因
- 分析方法通常有两种,一种是把堆dump下来,再用MAT工具进行分析,但dump堆需要花较长的时间,并且文件巨大,再从服务器上拖回本地导入工具,这个过程有所折腾,不到万不得已最好别这么干。
- 利用更轻量级的在线分析,使用java内存影像工具:jmap生成堆转储快照(一般称为headdump或dump文件)
jmap -histo:live id
查看对象存错情况
存活对象中数据不正常的十有八九就是泄漏的,如下图
-
定位代码
jmap -dump:live,formt=b,file=/opt/heap.bin 1909361
有没有和算法工程类的合作?
是的,在这个过程中我负责数据的支持和系统架构方面的帮助。
- 数据的清洗于准备:如我们通过硬件设备获取到数据之后,需要根据硬件提供的协议去解析获取我们需要的数据。
- 数据存储于管理:设计和管理数据存储的方案。
- 系统架构的设计:参与系统架构的设计和规划,确