京东 JAVA 一面

时间:10.18
时长:50min

自我介绍

【JAVA】
* ArrayList和LinkedList的区别?
* ArrayList和LinkedList两者是如何扩容的?
* HashMap的数据结构?在get和put的流程是怎样的?
* HashMap中桶的下标是如何确定的?
* ArrayList和HashMap的使用场景的区别?
* 为什么并发会带来的线程不安全?
* Synchronized VS CAS
* 线程池的核心参数以及使用流程

【MySQL】
* 有一张表有(学生,科目,分数)字段,查出语文成绩排名第二的学生
* 在什么场景下用到MySQL
* 对MySQL的存储引擎有哪些?InnoDB的底层结构有了解吗
* 联合索引(a, b, c),现在用where里的条件只有a,会走索引吗

【Redis】
* Redis为什么这么快
* Redis使用的线程模型是怎么样的
* Redis的IO模型是怎么样的
* 在项目中哪里用到了Redis,用到了什么数据类型,怎么使用的?
* 追问:如果分布式锁过期了,但是任务还没有做完怎么办

【计算机网络】
* HTTP VS HTTPS
* HTTPS是如何进行加密的

【Kafka】
* 说一下对Kafka的了解
* 消息队列具有哪些角色

【项目】
* 介绍一下项目,以及你参与了哪些部分。
* 项目的性能的瓶颈是怎么找到的?以及是如何优化的?

【面经无关的碎碎念:是秋招以来面试到的最好的面试官了,主要是过了一遍简历上写的基础内容,面试官也有在听我讲完然后找点深入,我答错or答不上来他还给我解答介绍,面试体验贼拉好】

#24届软开秋招面试经验大赏#
全部评论
Kafka是项目中写了才会问嘛?还是面试官直接问的?
3 回复 分享
发布于 2023-10-20 18:02 北京
为啥我通通问实习 一个八股没问 晕了
1 回复 分享
发布于 2023-10-20 19:46 北京
兄弟有没有问哪个部门
点赞 回复 分享
发布于 2023-10-20 19:13 辽宁
现在居然还有约面 羡慕了
点赞 回复 分享
发布于 2023-10-20 19:56 广东
什么时候笔试的啊
点赞 回复 分享
发布于 2023-10-20 22:12 湖北
佬笔试做的咋样啊,我昨晚笔试一直就没收到面试
点赞 回复 分享
发布于 2023-10-22 21:55 陕西
八股轰炸
点赞 回复 分享
发布于 2023-10-22 23:55 四川
好厉害
点赞 回复 分享
发布于 2023-10-28 21:53 天津

相关推荐

算法题: 1, 2, 5, 10 硬币组成n元的组合方式答: 完全背包的动态规划, 但是递推公式有点问题, 没做出来, 应该是求出用不用第i硬币的加法而不是取max类似:********************************************************问题1. 上次面试有哪些不会?学了吗?2. 什么情况下数据会进入老年代?3. JVM老年代会不会被GC?4. 为什么GC要分成不同的年代?5. GC的分代内存是连续的还是零碎?各有什么好处?坏处?6. 数据链路层、网络层、传输层为啥要分层, 各层的职责7. 那为啥要分呢, 不分不是更好8. 传输层 什么是链接?9. 如果网络某一个路由器断开3s, 链接还存在吗?10. 进程间通信方式共享内存, 进程A 存放字符串的指针, 进程B读指针,然后print(指针) 会打印出什么?11. 你能讲讲你个人的优势在哪里?回答:1. 上次关于JVM进程的详解没有讲清楚, 这次详细讲解了new 一个对象的全过程● 类加载检查, 看下这个对象所属的类有没有加载、链接、初始化成功, 否则先加载类(JVM类加载具有动态加载的特性)● 分配内存, 分配方式根据内存模型的规整与否(关系GC的选择)● 内存零值赋值● 初始化对象头,包括这个对象的年龄代、字面量、属于哪个类的元数据等, 其实就是标记字段 + 类 指针● Init(), Java程序看起来,对象的创建函数,字段init(), 对象的地址分配给引用变量● JVM内存模型分为不同的年龄代, Eden Survivor Old等● 年龄代存在对象头中, 用于记录GC情况, 当一个对象对于GC Root没有被引用的地方,即不可达时, 会被标记, 后续再次会被删除2. Eden在经过一次MoniGC 还存活的对象进入S0、S1区, 年龄+1, 年龄超过GC器阈值(0 -15)可以进入老年代, 同时大对象也可以进入老年代3. 会。被回收的直接原因是因为对象的引用可达性不存了,GC一般分为部分GC和Full GC, 部分GC可以在单独的Eden、Old乃至混合区域GC,如果内存不够还会触发Full GC 引用不可达的老年代对象一样会被删除4. 不同年代内存区域有各自的适用范围, 比如Eden每时每刻都会有大量的对象死去, 适用用标记-复制, 而老年代对象存活时间较长, 用标记-清除、标记-整理更好, 分代GC效率更高5. 零碎的。零碎的好处是空间利用率高, 只需要一个逻辑标识就能知道是哪个年龄代, 坏处是没有利用好空间局部性。连续的好处是利用了空间局部性, 但是容易有碎片。6. 有点问穿, 数据链路层的基本单位是数据帧, 用于咋局域网内的物理机器地址mac传输, 网络层是在不同的子网内ip传输, 传输层是在找到了应用端间口建立的稳定或者不稳定的链接7. 。。。。我回到是耦合性, 解耦了, 不同层有不同的协议解决各自的问题, 混沌系统太复杂的很难排查, 分层每次只需要接受下层接口,给上层提供服务就行,而不用关心实现细节8. 我认为的链接是指在目标端口的过程中, 无论是IP协议会在不同路由器留下转发映射, 还是APR协议留下目标MAC IP转换, 在逻辑上是有一条通路的, 这就是链接9. 我认为如果路由器的ip映射也消失了, 就会断开链接, 如果没有不一定会断开, 还会重新去找路径链接, 如果在没有超过ACK确认的时间内找到了则不会断开(这段感觉在胡言乱语)10. 这不太会, 我答的是地址或者HashCode, 提到了很多虚拟地址的情况, C++相关的问题, 后面查资料是因为每个进程的虚拟地址空间不一样, 进程B是打印不对的11. 从个人专业学习、工程经验、团队经验、个人性格四个方面回答
查看11道真题和解析
点赞 评论 收藏
分享
评论
24
114
分享

创作者周榜

更多
牛客网
牛客企业服务