wordpress关注查看seo收费
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
 

有没有和算法工程类的合作?
是的,在这个过程中我负责数据的支持和系统架构方面的帮助。
- 数据的清洗于准备:如我们通过硬件设备获取到数据之后,需要根据硬件提供的协议去解析获取我们需要的数据。
 - 数据存储于管理:设计和管理数据存储的方案。
 - 系统架构的设计:参与系统架构的设计和规划,确
 
