hi 大家好 我是田哥
今天,给大家分享一些面试干货。我们每次面试基本上都是超过一个小时的,面试官肯定会问很多问题,其实也不是需要我们全部能回答上来。但是,关键点如果回答不上来,就算你其他的回答的不错,也没用,最终offer还是不会给你的。
好吧,话不多说,我们直接开始:
很多人觉得自我介绍不是很重要,错了,自我介绍很烂,也会影响你的offer。因为自我介绍会考察你的表达能力,是否言简意赅,是否介绍了你的优势,你的特点。
很多人都是这样的:
面试官你好,我是
XXX
,本人某某大学某某专业毕业,XXXX
年毕业,毕业后就一直从事Java相关开发,做过系统1、系统2、系统3....,今天想来贵公司面试一份Java开发工作。
就这么简单潦草的把自我介绍搞完,面试官或许都没听到什么关键词,最多估计也是听到某某系统,然后有点感兴趣,就开始聊某个系统了。可是,你可能对某个系统其实不是很了解,只是参与开发了几个接口,然后,你就几句话就把面试官打发了。
或者你是面试官,估计连你都有些不爽,你说你做过某某系统,居然就开发了几个接口,整个系统是干啥的,有些什么工作,业务量怎么样你都不知道,你觉得印象分会高吗?
现在面试官,基本上是不会问基础部分了,但照顾到某些面试官还是会问,所以还是提一下。
String对象创建了,为什么不能变了?
Integer的面试题,100=100,1000为什么就不等于1000了?
反射机制是什么?异常有哪些处理方式?如何自定义异常?应该注意些什么问题?
我想自己写个对象作为HashMap
的key,行不行?应该注意些什么?
......
个人觉得JVM
这部分相当重要,这都没学好,你的代码是怎么运行的,你写出来的代码会不会有问题,有没有优化空间?
JVM
内存模型(这是最基本的,可能面试官不会直接问你,但是问其他问题的时候可能就需要说了)
类加载机制(类加载器,如何自定义类加载器)
双亲委派模型(如何破坏,在哪些地方见过)
哪些是垃圾对象(很多人始终记不住,那是没有用代码理解)
线上问题处理(这个是很多人都回答不来的,这里同时也是考察你对JVM
一些知识的考量)
......
在面试中,并发编程依旧是热门话题,同时也是大家最害怕的问题之一。
线程创建方式有几种?
线程状态
JUC
并发包下的相关组件(AQS
、ReentrantLock
、CountdownLatch
等)
线程池(实现原理、创建方式、如何设置线程数、如何监控)
同步锁、重入锁、锁升级、悲观锁、乐观锁、ABA
问题
......
现在大部分公司都在用Redis
,做缓存、分布式锁等。所以,现在基本上是必问的技术点。
Redis
数据类型(老实点回答常规的,关于bitmap
、Hyperloglog
,如果不是很熟悉就别说,否则给自己挖坑)
Redis
使用场景()
Redis
持久化(你们用的是哪种?为什么这么用?这么用会不会存在什么风险?)
Redis
线程模型(为什么叫单线程?只有单线程吗?)
Redis
高可用(Redis
集群方式,你们用的是哪种?为什么选这种?)
Redis
淘汰机制(淘汰算法有哪些?默认是什么?说说你对这几种算法的理解)
Redis
实现分布式锁(为什么选择Redis
来实现分布式锁?具体是怎么实现的?存在问题吗)
缓存三大问题(缓存雪崩、缓存穿透、缓存击穿,回答上来是正常的,回答不上来就回去等通知)
缓存命中(缓存命中率表示什么?怎么提高缓存命中率?)
......
目前在面试中 MySQL
的占比也是相当的高,并且都会问的挺多的,也问题挺深的。
一条SQL
的执行(一条查询SQL
是怎么执行的?一条更新的SQL
是怎么查询的?)
索引的问题(索引底层数据结构是什么?什么场景需要用到索引?联合索引背后实现原理是什么?...问题非常多)
SQL
优化(有哪些手段?说说几个项目中优化的场景,MySQL优化手段有哪些?)
MySQL
日志文件(有几种日志文件?都是干嘛用的?)
MySQL
事务(MySQL
的事务原理是什么?为什么不要使用长事务?说说你对MVCC
原理理解?)
MySQL
中的锁(MySQL
中有哪些锁?针对这些锁,能不能说说相应场景)
......
Spring是我们开发中必备的,因为它解放了我们的双手,尤其是Spring Boot
让我们之前的那么多xml
配置给消失了。
你们项目中为什么使用Spring
框架?
说说你对Spring MVC
的理解
谈谈你对Spring的AOP
理解
说说你对Spring的IOC
是怎么理解的
解释一下Spring Bean
的生命周期
Spring 是怎么解决循环依赖的?
Spring 框架中的单例 Bean 是线程安全的么?
说说Spring Boot
的自动装配原理
Spring Boot
的核心注解是哪些?
Spring Boot
中的 starter 到底是什么 ?
说说Spring Cloud
的核心组件
Eureka自我保护机制是什么?
如何设计一个注册中心?
Eureka和Zookeeper
的区别?
什么是Hystrix
?它如何实现容错?
Ribbon和Feign的区别?
....
市面上的消息队列很多,下面我们以RabbitMQ
为例。
为什么要使用消息队列?使用消息队列会存在哪些问题?
如何避免消息堆积?
如何保证消息不丢失?
如何保证消息顺序一致性?
如何保证消息不被重复消费?
有哪些消费模式?
RabbitMQ
有些什么特点?
为什么要选择为什么选择RabbitMQ
?
RabbitMQ
中消息可能有的几种状态?
如何保证RabbitMQ
消息队列的高可用?
生产者消息没到交换机,相当于生产者弄丢消息,怎么办?
......
个人觉得,上述部分应该是必备部分,开发中通常都会使用的。其他部分,由于每个人的技术栈不同,所以也不能全部列出来,下面再来看看其他部分:
Zookeeper
相关问题
分布式事
务相关问题
分库分表
相关问题
常用工具Maven
、Git
相关问题
Netty
相关问题
Dubbo
相关问题
搜索引擎相关问
数据结构与算法相关问题
...
说实话,这年头太卷了,面试要求也越来越高了。但与其说是卷,还不如说竞争非常激烈。现在各行各业都是这样的,哪个好赚钱,立马很多人就开始加入了。
面试造火箭,进去拧螺丝
这句话看起来有那么些悲观情绪,或者负面情绪,希望大家能理解背后含义。
进入公司大部人大多数时候都是搞CRUD,很多人都是高级开发了,但依旧是天天CURD。
DDDD
:这里不是带带弟弟
,哈哈,是懂的都懂
。
其实,作为面试官,肯定想你知道的越多越好,会的越多越好。不然,说不好那天和其他团队有业务交叉的地方,让你去聊技术方案,一不小心就被人家给否定了,严重的还可能会替别人背黑锅。
所以,面试造火箭,貌似也是有必要的。
我之前搞过一本《面试小抄》后台回复77
即可获取.
也可以加我微信(文末有二维码),我发你一些面试资料,20多张核心知识总结思维导图免费送。
很多人以为自己背背八股文,改改简历,然后就直接去面试了。其实,真正用心准备面试的人不是这样的。既然决定面试,那就还是得花点心思在上面。
但是,八股文那么多,你能背完吗?尤其是临时抱佛脚的,背了前面忘了后面,面试时候就是吱吱呜呜的结束了。
很简单的一个问题,自我介绍:每次的自我介绍都是临场发挥,发挥得好就说的很流利,发挥不好三两句话就解决,甚至说着说着自己都讲不下去了,草草了事。为什么就不能事先准备好呢?就当做背也行呀(只要是自己用心构思过写过的,其实也不用背也能很滑溜的说)。
还有就是面试中,遇到问题不会怎么办?面试后面如何反问面试官?......
大不无准备的仗
自己没有准备好,就开始出去面试,会导致哪些问题?
机会浪费
浪费时间
丧失自信
浪费机会
:很多面试机会可能是朋友介绍的,或者是自己意向的公司,但是你没准备好就去面试,很有可能这种机会就
浪费了。
浪费时间
:很多人都是靠着面试过几家公司后,才找到面试的感觉。比如说:面试三家才找到面试的感觉,就相当于你请假三天。就算按照每家半天,最少也得花一天半时间。
丧失自信
:由于自己没有准备好,面试中受挫也是在说难免的,被面试官怼的怀疑人生,怀疑自己是否适合干这一行。
另外,大家都知道,田哥现在是全职做面试辅导和技术分享。
10年码农,为你面试保驾护航!
面试辅导
主要内容:
提供面试资料,精简面试八股文,核心知识总结。
车轮战模拟面试
,(面试-->总结问题-->再面试-->再总结-->再面试...找个最优状态
)
美化简历,很多人的简历那真是烂得一塌糊涂,投出去必定沉默大海。
免费加入我的知识星球,关于知识星球相关内容,请点击:知识星球
如果工作后,遇到什么技术问题、职场问题都随时可以找我一起探讨。
面试辅导现在是年底优惠价399
,年后恢复原价 899
。
贵了吗?贵不贵,你自己可以算算成本,觉得可以的,欢迎随时找我,请注明面试辅导
。