写在前面:
本人5年开发经验、18年年底开始跑路找工作,在互联网寒冬季下成功拿到字节跳动、百度、京东等公司offer,岗位是Java后端开发,因为发展原因最终选择去了京东,入职大概有一年时间了,之前去过很多家公司面试,感觉大部分公司面试考察点都差不多,趁有一点空闲时间,将自己面试心得都记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。
文章较长,请大家耐心看完,下面就进入正题吧。
京东一面
- java 容器都有哪些?
- 如何将字符串反转?
- 说一下 jvm 的主要组成部分?及其作用?
- 说一下 jvm 有哪些垃圾回收算法?
- 谈谈 Java 反射机制,动态代理是基于什么原理?
- 常见的异常类有哪些?
- 操作系统什么情况下会死锁?
- 数据库中的索引的结构?什么情况下适合建索引?
- 线程和进程的区别?
- 在 java 程序中怎么保证多线程的运行安全?
- tcp 为什么要三次握手,两次不行吗?为什么?
- 说说你开发中遇到过什么难题啊?怎么解决的?
京东二面
- 说一下你熟悉的设计模式?
- 什么是不可变对象(immutable object)?Java 中怎么创建一个不可变对象?
- Java 中应该使用什么数据类型来代表价格
- 怎么将 byte 转换为 String?
- a = a + b 与 a += b 的区别
- 3*0.1 == 0.3 将会返回什么?true 还是 false?
- 64 位 JVM 中,int 的长度是多数?
- TCP和UDP区别?
- 解释 Java 堆空间及 GC?
- 说出至少 5 点在 Java 中使用线程的最佳实践。
- 如何测试静态方法?
- synchronized关键字用法?
- Java如何实现原子操作
京东三面
- Java 提供了哪些 IO 方式? NIO 如何实现多路复用?
- 谈谈接口和抽象类有什么区别?
- synchronized 和 ReentrantLock 有什么区别?有人说 synchronized 最慢,这话靠谱吗?
- 谈谈接口和抽象类有什么区别?、
- Redis集群会有写操作丢失吗?为什么?
- spring 中的 bean 是线程安全的吗?
- TCP如何保证可靠传输?三次握手过程?
- 为什么要用 spring boot?
- spring cloud 断路器的作用是什么?
- 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入
- 说一下 mysql 的行锁和表锁?
- try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
- 在 java 程序中怎么保证多线程的运行安全?
- synchronized 和 ReentrantLock 区别是什么?
京东四面
- 秒杀系统的设计
- 一个整形数组,给定一个数,在数组中找出两个数的和等于这个数,并打印出来,我写的时间复杂度高,要求O(n)
- n个整数,找出连续的m个数加和是最大
- 数据库TPS是多少,是否进行测试过
- 缓存击穿有哪些方案解决
- 分布式锁,redis缓存,spring aop,系统架构图,MySQL的特性
- 场景,同时给10万个人发工资,怎么样设计并发方案,能确保在1分钟内全部发完 打个比方会提出类似的场景
- 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
- Java中的NIO,BIO,AIO分别是什么?
- MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
- 说说Redis哈希槽的概念?
- 两个不重复的数组集合中,这两个集合都是海量数据,内存中放不下,怎么求共同的元素?
- 2000万个整数,找出第五十大的数字?
- 讲一下java中的同步的方法
HR面
- 请介绍一下你自己
- 您在前一家公司的离职原因是什么?
- 项目中遇到最大的困难是什么?如何解决的?
- 自己的优点和缺点是什么?并举例说明?
- 与上级意见不一致时,你将怎么办?
- 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
- 如果你在这次面试中没有被录用,你怎么打算?
- 你还有什么问题问我吗?
总结
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。如果这些文字能够帮到你,那就最好了,帮不到就当是我自己的一个记录。最后,希望大家都能找到适合自己的公司,开开心心的撸代码~
以下学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!
资料获取方式:转发+评论我的文章,关注我,然后私信【666】即可免费领取~
算法学习思维脑图
MySQL学习思维脑图
计算机与网络学习思维脑图
多线程与高并发学习思维脑图
既然是要面试,那么就少不了刷题,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
互联网大厂面试宝典
- Spring全家桶(实战系列)
- 算法(实战文档)
写在最后
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!
资料获取方式:点击传送门免费获取
阿里巴巴内部PPT全集及电子文档分享
Java核心知识点整理
1000道互联网Java工程师面试题
以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!
资料获取方式:点击传送门免费获取