说在最开头:
说一下最近几次面试大厂的经历,害,一言难尽,都让我觉得自己近期两个多月都没有学到东西,问的问题要说深入底层也深入了,但是你说是基础吗,其实也是,但就是没有回答好,这跟自己面试技巧也有关系吧,不会展现自己,也不会引导面试官,去展示自己的长处。当然,在面试之前我也逛了N多次后花园,也刷了很多牛客网上的面经,感觉还是有很多的出入的。
下面我说一下自己面试的流程:
刚开始的时候面试官会让自我介绍,闲聊一小会(主要是为了缓解紧张的气氛),下面就进入了正题(以下面试题都是涉及到的,没有一一都记清楚,记了个大概):
基础篇(面试完后期又整理了一下)
- 1、Java语言有哪些特点
- 2、面向对象和面向过程的区别
- 3、八种基本数据类型的大小,以及他们的封装类
- 4、标识符的命名规则。
- 5、instanceof 关键字的作用
- 6、Java自动装箱与拆箱
- 7、 重载和重写的区别
- 8、 equals与==的区别
- 9、 Hashcode的作用
- 10、String. String StringBuffer和StringBuilder的区别是什么?
- 11、ArrayListflinkedList的区别
- 12、HashMap和HashTable的区别
- 13、Collection包结构, 与Collections的区别
- 14、Java的四种引用, 强弱软虚
- 15、 泛型常用特点
- 16、Java创建对象有几种方式?
- 17、有没有可能两个不相等的对象有相同的hashcode
- 18、深拷贝和浅拷贝的区别是什么?
- 19、final有哪些用法?
- 20、static都有 哪些用法?
- 21、3*0.1==0.3返回值是什么
- 22、a=a+ b与a+ =b有什么区别吗?
- 23、try catch fnally, try里有return, fially还执行么?
- 24、Excption 与Error包结构
- 25、OOM你遇到过哪些情况,SOF你遇到过哪些情况
- 26、简述线程、 程序、进程的基本概念。以及他们之间关系是什么?
- 27、线程有哪些基本状态?
- 28、Java 序列化中如果有些字段不想进行序列化,怎么办?
- 29、Java中10流
- 30、Java 10与NIO的区别
- 31、java反射的作用与原理
(以上加粗的是在面试的时候问到过的,哈哈,当时紧张一批,记得也不是很清楚了,其他是自己刷过的面试题,还是很有作用的)
JVM篇(这个是可以吊打面试官的必杀技)
- 1、知识点汇总
- 2、知识点详解:
- 3、类加载与卸载
- 4、简述一下JM的内存模型
- 5、堆和栈的区别
- 6、什么时候会触发FullGC
- 7、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言?
- 8、Java内存结构
- 9、对象分配规则
- 10、描述一下JVM加载class文件的原理机制?
- 11、Java对象创建过程
- 12、类的生命周期
- 13、简述Java的对象结构
- 14、如何判断对象可以被回收?
(以上都是很重要的问题,必须都要会的一些知识点,你会了多少了呢?还有很多没有整理出来,有点小懒了~)
多线程&并发篇(害,对于我来说,这个是最难的)
- 1、Java中实现多线程有几种方法
- 2、如何停止一个正在运行的线程
- 3、notify0和notifyAll0有什么区别?
- 4、sleep0和wait0 有什么区别?
- 5、volatile 是什么?可以保证有序性吗?
- 6、Thread 类中的start0和run0方法有什么区别?
- 7、为什么wait, notify 和htftifyAll这些方法不在thread类里面?
- 8、为什么wait和notify方法要在同步块中调用?
- 9、Java中interrupted 和isInterruptedd方法的区别?
- 10、Java中synchronized 和ReentrantLock 有什么不同?
- 11、有三个线程T1,T2,T3,如何保证顺序执行? '
- 12、SynchronizedMap和ConcurrentHashMap有什么区别?
- 13、什么是线程安全
- 14、Thread类中的yield方法有什么作用?
- 15、Java线程池中submit0和execute(方法有什么区别?
- 16、说一说自己对于synchronized关键字的了解
- 17、说说自己是怎么使用synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式:
- 18、什么是线程安全? Vector是一 个线程安全类吗?
- 19、volatile关键字的作用?
- 20、常用的线程池有哪些?
- 21、简述一下你对线程池的理解
- 22、Java程序是如何执行的
(多线程高并发这方面我主要也是结合了视频在学习,只有理论的知识还是有点难的)
Spring篇(这个是我在面试中问的比较多的)
- 1、Spring的IOC和AOP机制?
- 2、Spring中Autowired和Resource关键字的区别?
- 3、依赖注入的方式有几种,各是什么?
- 4、讲一下什么是Spring
- 5、Spring MVC流程
- 6、SpringMVC怎么样设定重定向和转发的?
- 7、SpringMVC常用的注解有 哪些?
- 8、Spring的AOP理解:
- 9、Spring的IOC理解
- 10、解释一下spring bean的生命周期
- 11、解释Spring支持的几种bean的作用域。
- 12、Spring基 于xml注入bean的几种方式:
- 13、Spring框架中都用到了 哪些设计模式?
(Spring还是很重要的,我面试的时候好几个都是险过)
Mybatis篇
- 1、什么是MyBatis
- 2、MyBatis的优点和缺点
- 3、#}和$}的区别是什么?
- 4、当实体类中的属性名和表中的字段名不一样,怎么办?
- 5、Mybatis 是如何进行分页的?分页插件的原理是什么?
- 6、Mybatis是如何将sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
- 7、如何执行批量插入?
- 8、Xml映射文件中,除了常见的selectinsertlupdae|delete标签之外还有哪些标签?
- 9、MyBatis实现-对一有几种方式?具体怎么操作的?
- 10、Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
- 11、 Mybatis的一 级、二级缓存:
(以上都是SSM框架必须都知道的,相信不需要我多说了吧)
SpringBoot篇
- 1、什么是SpringBoot? 为什么要用SpringBoot
- 2、Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?
- 3、运行Spring Boot有哪几种方式?
- 4、如何理解Spring Boot中的Starters?
- 5、如何在Spring Boot启动的时候运行-些特定的代码?
- 6、Spring Boot需要独立的容器运行吗?
- 7、Spring Boot中的监视器是什么?
- 8、如何使用Spring Boot实现异常处理?
- 9、你如何理解Spring Boot中的Starters?
- 10、springboot常用的starter有哪些
- 11、SpringBoot 实现热部署有哪几种方式?
- 12、如何理解 Spring Boot配置加载顺序?
- 13、Spring Boot的核心配置文件有哪几个?它们的区别是什么?
- 14、如何集成Spring Boot和ActiveMQ?
- 15、如何重新加载Spring Boot上的更改,而无需重新启动服务器?
- 16、Spring Boot. Spring MVC和Spring有什么区别?
- 17、能否举个例子来解释更多Staters的内容?
- 18、Spring Boot还提供了其它的哪些Starter Project Options?
MySQL篇(当时好像没有问到,脑子有点懵)
- 1、数据库的三范式是什么
- 2、数据库引擎有哪些
- 3、InnoDB与MyISAM的区别
- 4、数据库的事务
- 5、索引问题
- 6、SQL优化
- 7、简单说一说drop. delete 与truncate的区别
- 8、什么是视图
- 9、 什么是内联接、左外联接、右外联接?
- 10、并发事务带来哪些问题?
- 11、事务隔离级别有哪些?MySQL的默认隔离级别是?
- 12、大表如何优化?
- 13、分库分表之后,id主键如何处理?
- 14、mysq|有关权限的表都有哪几个
- 15、mysq|有哪些数据类型
- 16、创建索引的三种方式,删除索引
(这个当时刷题的时候没有很注重,是大数据方面的知识)
Redis篇
- 1、Redis持久化机制
- 2、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
- 3、热点数据和冷数据是什么
- 4、Memcache与Redis的区别都有哪些?
- 5、单线程的redis为什么这么快
- 6、redis的数据类型,以及每种数据类型的使用场景
- 7、redis的过期策略以及内存淘汰机制
- 8、Redis 为什么是单线程的
- 9、Redis 常见性能问题和解决方案?
- 10、为什么Redis的操作是原子性的,怎么保证原子性的?
- 11、Redis事务
(mybatis不是很难,但是也不能忽视)
SpringCloud篇
- 1、什么是SpringCloud
- 2、什么是微服务
- 3、SpringCloud有什么优势
- 4、什么是服务熔断? 什么是服务降级?
- 5、Eureka和zookeeper都可以提供服务注册与发现的功能, 请说说两个的区别?
- 6、SpringBoot和SpringCloud的区别?
- 7、负裁平衡的意义什么?
- 8、什么是Hystrix?它如何实现容错?
- 9、什么是Hystrix断路器?我们需要它吗?
- 10、说说RPC的实现原理
(SpringCloud也是微服务炙手可热的一部分,还是很有用的~)
Nginx篇
- 1、简述一下什么是Nginx,它有什么优势和功能?
- 2、Nginx是如何处理一个HTTP请求的呢?
- 3、列举一些Nginx的特性
- 4、请列举Nginx和Apache之间的不同点
- 5、在Nginx中,如何使用未定义的服务器名称来阻止处理请求?
- 6、请解释Nginx服务器上的Master和Worker进程分别是什么?
- 7、请解释代理中的正向代理和反向代理
- 8、解释Nginx用途
(Nginx结合自己的实战项目还是很有说服力的)
MQ篇
- 1、为什么使用MQ
- 2、MQ优缺点
- 3、Kafka、 ActiveMQ. RabbitMQ、 RocketMQ 都有什么区别?
- 4、如何保证高可用的?
- 5、如何保证消息的可靠传输?如果消息丢了怎么办
- 6、如何保证消息的顺序性
- 7、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
- 8、设计MQ的思路
(用于服务器还是可以的,有解耦、异步、削峰的优点,哈哈专业了一点)
数据结构与算法篇
- 1、常用的数据结构
- 2、数据里有{1,2,3,4,5,6,7,8,9}. 请随机打乱顺序,生成一个新的数组(请以代码实现)
- 3、写出代码判断一 个整数是不是2的阶次方 (请代码实现,谢绝调用API方法)
- 4、假设今日是2015年3月1日, 星期日,请算出13个月零6天后是星期几,距离现在多少天(请用代码实现,谢绝调用API方法)
- 5、 有两个篮子,分别为A和B.篮子A里装有鸡蛋,篮子B里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
- 6、更多算法练习
(数据结构与算法我主要是结合了一些左程云老师的视频,真的很详细哒)
Linux篇
- 1、 绝对路径用什么符号表示?当前目录、. 上层目录用什么表示?主目录用什么表示?切换目录用什么命令?
- 2、怎么查看当前进程? 怎么执行退出?怎么查看当前路径?
- 3、查看文件有哪些命令
- 4、列举几个常用的Linux命令
- 5、你平时是怎么查看日志的?
(这个主要是运维的,看的比较少)
偷偷告诉你:转发这篇文章+关注我,后台私信【111】或【666】即可全部打包面试题及答案解析~
下面分享一下自己在准备面试中刷过的题:
1.Java核心知识点
2.2020年多家互联网公司350道面试题
3.1000道互联网工程师面试真题
4.面试视频
- 左程云老师数据结构与算法
- Spring面试视频
重中之重:简历篇
以上就是我在面试之前重点刷的一些面试题,除了面试题,还有很重要的一部分就是简历应该如何填写,简历是面试官对你的第一印象,至少要让面试官有想要深入了解你的冲动,吸引面试官的眼球,一张简历HR也就只会花十几秒的时间,简历就像是一个门面,在很大程度上决定了你是否会进入到下一轮面试,以下是我跟前辈讨的一点经验:
- 为什么说简历很重要?
- 先从面试来说
- 再从面试说起
- 必知必会的几点
- 必须了解的两大法则
- 项目经历怎么写
- 专业技能怎么写
- 排版注意事项
- 其他一些小tips
写在最后
经过这几次的面试,感觉自己还是挺菜的,很多地方和知识都是只知其一不知其二,都是了解的表面知识,面试官一深入问就慌了,还是因为知识不够牢固,不然就会脱口而出的。
其实觉得刷题还是很重要的,毕竟熟能生巧,然后再去运用这些知识点,而且我也相信每一份努力都会被看见,每份付出都会有回报,可能会迟到,但是不会缺席的(哈哈,一碗心灵鸡汤干掉)
领取方式
以上近1000页的Java面试专题:Java核心知识点+350道面试题+1000互联网面试题+学习视频,全部已经打包好,需要完整内容的朋友转发这篇文章+关注我,后台私信【111】或【666】即可免费获取~