互联网大厂面试
文章平均质量分 94
11来了
目前在读研究生研二,会持续分享后端系列完整内容以及面试分析!
展开
-
计算机网络面试高频:输入域名会发生那些操作,开放性回答
更多大厂面试内容可见 -> http://11come.cn计算机网络面试高频:输入域名会发生那些操作,开放性回答输入域名之后,会发生哪些操作?当在浏览器中输入www.baidu.com并按下回车键时,会触发一系列复杂的网络过程,包括DNS解析、TCP连接建立、HTTP请求和响应等。以下是这个过程中发生的详细步骤,分层次地说明每一个环节,域名 www.baidu.com 其实最后还有一个点,即 www.baidu.com. ,域名级别从右到左递减,根域名为 . ,顶级域名为 .com ,二级域名原创 2024-04-28 11:42:09 · 924 阅读 · 0 评论 -
携程 Java 暑期实习二面:MQ 消息堆积怎么办?
新建一个 Topic,队列设置为 30 个,消费者同时也创建 30 个,再新建一个消费者,将原来 Topic 下的消息转移到新的 Topic 下,此时就可以在新创建的 Topic 中进行消费了,速度相当于原来的 10 倍,可以将处理时间压缩在 5 分钟左右。G1 在垃圾回收时,会有计划的进行回收,在指定的 stw 时间之内,尽可能回收价值更大的 Region,提升回收效率,并且保证可以达到期望的 stw (停顿)时间。原创 2024-04-27 14:58:11 · 678 阅读 · 1 评论 -
携程 Java 暑期实习一面:有看过 GC 日志吗?垃圾回收算法和垃圾回收器都讲一下
判断 GC 持续时间是否过长、GC 次数是否频繁,如果 Full GC 较为频繁,也是存在问题的(因为 Full GC 比较慢,要减少 Full GC 次数),之后就要分析 Full GC 原因,看看是有大对象、还是产生非常多的对象、还是元空间初始值太小了。看一下分配的空间大小以及峰值空间大小,来判断是否空间分配不合理,在 JDK1.8 中,如果不指定元空间大小,默认的初始值为 21MB,最大值为系统内存大小,元空间太小会导致频繁 Full GC 来提升元空间大小,因此这一点要注意。原创 2024-04-24 20:36:31 · 739 阅读 · 3 评论 -
携程 Java 暑期实习一面:HashMap 的 key 可以设置为 null 吗?那 ConcurrentHashMap 呢?
HashMap 是哈希结构,存储 k-v 键值对,底层实现的话由数组+链表+红黑树进行实现HashMap 中是可以存储 null 的 key 或 value 的,在 HashMap 中,为 null 的 key 只有一个,当传入 key 为 null 的时候,就会返回数组中索引为 0 的位置介绍线程池的时候,说一下线程池的几个核心参数,以及线程池的工作流程:核心线程数量:线程池最大线程数量 = 核心线程数+非核心线程数:非核心线程存活时间unit。原创 2024-04-22 20:46:04 · 1078 阅读 · 1 评论 -
腾讯后端一面:如果需要实现一个分布式锁,你该如何实现?
我回答的是,既然要应对这种问题,就要探测这个线程是否在执行,那么就可以在加锁的用户线程中加一个发送心跳的操作,在另外一个服务中去接收这个心跳,如果在一段时间内都收不到用户线程的心跳,那么就说明这个用户线程出现问题了,一直没有得到执行,因此就可以主动的去将这个用户线程加的分布式锁给释放掉,那么这里判断线程出现问题的时间就可以设置的短一些,比如 5s 都没有收到该线程的心跳,那么就判断该线程得不到调度,出现问题,就主动去释放他的锁。原创 2024-04-21 15:56:50 · 724 阅读 · 0 评论 -
腾讯后端一面:当 TCP 建立连接之后,TCP 和 UDP 的实时性是不是就差不多了?
来调整树的结构,满足上述的特性,保证了红黑树的平衡,使得查询性能较为稳定,在 Java 的 HashMap 中就使用到了红黑树来优化数据的查询性能。面试官可能是 Go 方向的,我面试的是 Java 方向的,所以面试官也没有问我简历上的项目,主要问了实验室中做的项目,哪个项目比较有技术挑战?这条性质确保了从根到叶子的路径上不会出现两个连续的红色节点,有助于避免树的局部区域出现过高的密度,这是通过颜色的变化来轻微调整树的平衡。5、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。原创 2024-04-19 15:06:18 · 1834 阅读 · 1 评论 -
美团财务科技Java后端一面:面向对象、类加载过程、全限定类名相同的类是否可以同时被加载
因为 class 文件是由类加载器来完成的,如果 class 文件变更了,Tomcat 就会将原来的类加载器销毁,再创建新的类加载器来加载修改后的文件,以实现热部署功能。原创 2024-04-19 13:33:39 · 972 阅读 · 0 评论 -
美团财务科技后端一面:如何保证数据一致性?延时双删第二次失败如何解决?
在消费的时候可以去对失败操作进行处理,从延时队列中取出消息进行消费,如果失败了,可以进行指定次数的重试,如果只是因为网络抖动失败,那么一般重试就可以成功消费了,但是如果是 Redis 出现了问题,那么这一段时间内重试可能都还会存在问题,因此要考虑将失败的消息给放在数据库中存储起来,再定时进行消费对失败的消息进行补偿(不过 Redis 宕机的概率很小,一般不会发生)这样在用到数据的时候,直接从 ThreadLocal 中取出来,既保证了线程之间的数据隔离性,又保证了较好的性能(不必重复去获取)原创 2024-04-18 23:18:07 · 1343 阅读 · 0 评论