拼多多Java后端一面-日常实习

1.实习介绍
2.jvm垃圾回收有了解吧,我有这样一个场景:比如说你负责的服务,那个可能是一个大流量,低延迟的一个服务。然后现在你观察到你们现在这个服务频繁的GC然后针对你这种我刚刚讲这种特点服务其实是有可能影响它的稳定性跟性能的了。如果不是一个QPS很高,然后访问时间也可以容忍很长的一个服务,那倒无所谓,对吧,然后这个情况可能需要你来排查和解决。你会怎么来做
3.我再说具体点,就是它的YGC和OldGC都非常频繁,你觉得会是什么情况
4.刚刚提到主要一个说那个一样ygC可能晋升到老年代的门槛低了,这种情况,你怎么调呢?
5.要是竞争年龄没什么问题的。有没有可能把那个Young区调大?你觉得行不行
6.好,那如果Young区调大的话,因为总的内存肯定是有限的固定的嘛,那这个老年代Old区可能就小了。这样这这种调整会是一个正向的吗?对GC的优化来讲,这种做法一定是对的么?为什么
7.问一下MySQL相关的问题哈,我用数据库存100万数据,怎么对这一百万笔数据进行修改并确保全部修改成功
8.mysql的一张表里面有a b c 3个字段。建了三个单独索引。sql语句的是where a等于1,b等于 1,c等于1,我这个sql会使用哪些索引?
9.它底层优化器怎么去选择。根据哪些因素去选择
10.问一个场景的问题,现在前置条件是innodb引擎我数据库里呢有两张表。一张表有30个字段,另外一张表有60个字段。假设这两张表每个字段的长度都是varchar80不考虑null的这种情况。我现在往两张表里分别插入100万条数据,接下来我需要从两张表里各自select一条数据出来。当然,我这个字段数都保持在30个where条件左右,我直接使用主键,这两个查询在效率上有没有什么差别,为什么
11.OK,很不错,接下来问一下业务场景的问题哈,比如我现在线上有这样一个批量处理类的任务。这种程序的特点是短时间内我会产生大量的临时对象,因为批处理会比较快,内部的处理。理论上这些临时对象是可以被垃圾回收回收掉的,但是系统在高速运行了一段时间以后,发生了堆内存的溢出。你分析一下,我现在不考虑一些这个对象无法被回收或者什么长引用这些因素,反正主要还是基于刚才那个前置的这个条件场景。那你来分析一下,就我也没有什么不可回收的为什么运行了一段时间,会出现堆内存溢出可能的原因是什么
全部评论
YGC老年代都频
点赞 回复 分享
发布于 12-25 16:14 云南
拼多多有日常?
点赞 回复 分享
发布于 12-25 13:45 广东
在哪里投的简历啊
点赞 回复 分享
发布于 12-24 01:06 山东

相关推荐

12-22 17:15
门头沟学院 Java
1. 实习介绍2. HashMap底层数据结构- 链表树化的条件:当链表长度大于8且map容量超过64时,链表会进行树化。- 这样设计的原因:主要是结合内存开销和性能进行综合考虑。- 若key一直有冲突该如何处理?3. 介绍ConcurrentHashMap4. 说下CAS和synchronized锁的区别?5. Java的垃圾回收机制?6. 项目介绍- 数据存储是否为单表存储?表的数据上限是多少?能否存储一亿条数据?- 当单表超过5kw行或者容量超过2GB时,需考虑分库分表。- 订单表数据量较大时,如何选择分库分表键?是否了解分库分表?- 分库可以解决并发量大的问题,但数据库的连接数量有限,若进行分库,用户如何知晓请求该发送到哪台机器上?- 分表是将订单、物流、商品、会员等数据分别存放在独立的数据库中。7. MySQL底层数据结构?为什么采用B+树?为何不使用B树?8. 了解MySQL聚簇索引吗?有哪些方式可以避免回表操作?-  select id, name from table where name ='ls'  -- 不回表-  select * from table where name ='ls'  -- 回表9. 了解MVCC吗?它可以解决哪些问题?在不同隔离级别下,MVCC的处理方式有何差异?10. Redis在项目中的使用场景11. Redis除了实现分布式锁,还能有哪些应用?- 如何利用Redis进行限流?具体如何实现?
点赞 评论 收藏
分享
评论
1
13
分享

创作者周榜

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