金三银四你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

俗话说的好:不想当将军的士兵,不是好士兵。作为一名Java开发者,你真的努力了吗?想过跳槽涨薪吗?对现在的状况满意吗?想过改变吗?

我想这是很多Java开发者都会面临的问题,而且2020年受疫情的影响是很大的,不知道你们的情况如何?很多人会面临一些被辞的情况,那么你该如何去改变现状呢?错过金九银十的你,还不打算着手开始准备金三银四吗?机会都是留给有准备的人,为什么不好好利用这段时间来精进自己,跳槽到自己心仪的大厂呢?

现在很多大厂的公司都已经开始招聘了,那么你准备好了吗?如果不行动就只能坐吃山空了,赶快行动起来吧。

大厂招聘情况

1.字节跳动校园招聘(这些应届生比较吃香)

image.png

2.阿里云Java后台开发

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

3.还有很多大厂的招聘情况都是可以找到的,就不一一一详细介绍了。

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

个人情况

在前段时间面试了一份搜狐的Java开发工作,经历还是很忐忑的,如果没有准备好,真的不能光着膀子上,你会被打击的很惨的,这次面试被问到了基础部分、项目部分、编码部分等很多问题,有的是之前遇到过的,比较熟悉的,有的是很迷茫的,不知如何回答。下面就详细说一下面试的过程吧,希望可以给大家一个参考:(在面试中会遇到的面试题给大家分享一下)

1.自我介绍

基础部分:

2.java集合框架说一下,常见的有哪些?

3.hashMap和ConcurrentHashMap的区别,以及底层的数据结构是什么?对于具体的改变在哪个版本回答的比较模糊,其他部分回答的还可以,面试官也没有细问HashMap和ConcerrentHashMap的put和get过程,没有问扩容、缩容等问题,需要重点去关注一下这部分?

4.因为说ConcurrentHashMap的时候说到了synchronized和ReetrantLock,说一下Synchronized和ReentrantLock的区别?这部分对synchronized的锁的优化没说上是在哪个具体的版本改进的?但是区别还是说的比较好?

5.说一下synchronized的锁升级过程?这部分谁回答的也挺好的?

6.说一下CAS?CAS是什么?用来解决什么问题?底层用的是哪个类?回答的还可以,但具体细节还有待细化。

7.CAS的使用会有什么问题?怎么解决该问题? ABA问题,原子类里面的AtomicStampedReference可以解决该问题,带一个时间戳,除了当前值和期望值外,还有当前时间戳和预期时间戳。

6.String s = new String(“abc”),创建了几个对象,每个对象分别在什么位置?注意分别回答,s在栈中,new String对象在堆中,常量在1.7之前在永久代中,字符串常量池在永久代中;在1.7之后,常量abc在堆中,因为字符串常量池在堆中,通过直接指针的方式连接。

7.由于上面问题提到了堆栈,说下jvm内存结构,每一部分的作用是什么?

8.是不是看过深入理解java虚拟机?我说看过一部分,类文件结构没有看完,其他大概看过了,也没有问类加载的问题

9.jvm调优部分:实际工作中有调过优吗?JVM参数设置,STS调优经验,这部分回答的不是太好,因为确实实际工作中用的比较少,但是作为面试,还是要准备一下相关问题

10.工作中用到过多线程吗?用的是哪些线程池?每种线程池有哪些缺陷?底层所使用的的队列分别是什么?

11.线程池工作原理部分有了解吗?说一下线程池工作原理?

12.CycliBarrier用来干什么?CycliBarrier的最后命令由哪个线程执行?是主线程还是最后一个到达的线程?是最后一个到达的线程,可以在CyclicBarrier的构造函数中设置最后要执行的代码,在此之前可以打印出来当前线程的线程名称查看;

13.CountDown有了解过吗?CountDown和CycliBarrier的区别是是什么?在使用上有啥区别?

项目部分:

14.看你用过缓存,你们一般用什么缓存?用来解决什么问题?

15.redis是怎么部署的?主从部署?有了解过redis集群部署吗?我说redis集群部署没有了解过,但是有了解过mysql的集群部署,有读写分离部署,主从复制,分库分表等相关方案,面试官也没有具体细问,面试过最后说可以下去了解一下redis的集群部署,因为现在互联网公司大多数都是集群部署的。

16.说一下redis的数据类型吧?zset的底层数据结构是啥?zset的适用场景有哪些?我说了热搜榜单排行榜,各种排行榜可以用Zset;

17.说redis的时候说到了redis的集群部署解决了CAP理论中的AP,所以面试官开始问分布式相关知识了?(面试回答问题的时候也可以这样引导面试官,但是我引导错了,因为这部分我了解不多,给自己挖了个坑);说一下CAP是什么?BASE有了解过吗?

18.上面说CAP的时候说到了Zookeeper保证了C,强一致性性,所以问Zookeeper保持强一致性的原理和算法:有了解过ZAB和Paxos分布式一致性算法吗?具体算法没有说清楚,大概说了一下Leader选择过程,说的不是很细致;最后面试官说下去可以研究一下分布式这部分知识,可以看下Etcd,是一个分布式、可靠KV存储的分布式系统,使用的协议,和Zookeeper的区别等;

19.看你有用过MQ,你们用的是什么消息队列?用来解决什么问题?怎么用的?是哪种模式,点对点还是发布订阅?有消息持久化吗?怎么保证消息的重复消费?

20.SpringBoot的事务有了解过吗?我说用的是Sping的声明式事务(其实想引导面试官到Spring上来的,但是面试官Spring的问题并没有多问),然后事务的注解是什么?

21.你们用的ORM框架是什么?mybatis?

22.根据表生成对象的时候生成了哪几类对象?分别存放在什么位置?那个包下?

编码部分

确定某一个整数是不是快乐数?Lettcode 202题,和面试官沟通之后做出来了。

问答环节

问我有没有想问的问题?

1.由于刚才分布式和redis集群部分回答的不是很好,对于这部分的学习有什么建议吗?

可以先学习一下docker容器技术,因为现在大多数部署都是容器技术的,之后可以学点分布式中间件相关的等等等。。。

2.您所在团队现在使用的技术栈主要是什么?

3.如果有机会的话,后续面试流程是什么样的?

整体感觉

还是正规互联网公司问的全面,面试官也很亲和,会指导你去回答和解决问题,不像一般公司,问的问题很偏,一方面准备不充分,一方面确实有点不按套路出牌。这次面试一方面是想尝试一下传说中的大厂面试,另一方面也想检验一下最近的学习成果,对于JVM理论部分和并发与多线程问题的学习反馈。大厂面试上述三部分必须要有突出部分,编码部分是很重要的,一定要多刷算法题,对于社招也不是太难,所以多刷题,多总结思路,剑指offer和leetcode是不错的选择;项目部分对于做过的东西要知道为什么这么做?如果不这么做会有什么问题?使用过程中遇到过哪些问题?对于分布式中间件的问题不会少的,所以一定要做好准备;基础部分是地基了,一定要打好地基,我大学期间没有学好基础,算法与数据结构、计算机网络、操作系统、数据库理论和mysql,这些基础的东西一定要搞懂,大厂对于基础特别看重,所以如果你还在上大学,一定要多看看这部分,多看看大厂校招和社招JD,不然开始的时候会碰壁很多次。

经过这轮面试,发现自己的很多问题都是需要提升的,因为自己知道如果不提升自己是一个什么结果了,就不要做最后的挣扎了。那么重点来了,应该如何快速提升自己,这份是我在面试之前刷的一份文档,知识点真的已经很全面了**(Java基础、Java集合、多线程、JVM、数据结构、Spring、微服务、网络、Netty、算法、分布式)**

已经将Java面试的核心笔记整理好了,有需要的朋友,麻烦帮忙点赞+关注,然后点这里直达即可免费领取。努力一段时间,还自己一个未来。

Java知识点笔记整理

在刷题的时候自己总结的脑图,哈哈,有点多,,,

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

JVM

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Java多线程并发

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Spring原理

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

微服务

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Netty与RPC

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

负载均衡

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Java算法

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Spark

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

云计算

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

目录综述

image.png

最后

没有一件事情是简单的,每个人都有自己的苦恼和要解决的问题,找准自己的定位,而且要想办法解决自己的问题,也要追随自己的内心,不要随波逐流,现在这个时代感觉活着也是一件很奢侈的事情。

周国平先生曾在一个采访中说:他研究尼采,想知道他探究的问题究竟有没有答案,最后得出的结论是:人生本没有什么意义,生老病死,关键是作为你自己,要给你的人生赋予某种意义,愿我们都能给自己的人生赋予某种意义!哈哈一份面经撤成了鸡汤,不喜勿喷呀…

已经将Java面试的核心笔记整理好了,还有很多脑图,有需要的朋友,麻烦帮忙点赞+关注,然后点这里直达即可免费领取。努力一段时间,还自己一个未来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值