1.自我介绍
2.介绍一下项目
3.java多线程有哪几种实现方式
4.CountDownLatch
5.Spring的核心技术
6.关于数据库事务说出你知道的所有
7.跟面试官聊天,说了很多关于登录验证的技术问题(有些紧张)
8.你有什么想问的
二面:
1.自我介绍
2.介绍一下项目
3.把你知道的java的concurrent包的技术全部说出来(volatile、锁重入,LinkedTransferQueue字节追加提高并发度技术,ConcurrentHaspMap结合volatile的happen-before读取优化)
4.redis的配置文件(AOF&&Snapshot&&主从复制)
5.WebSocket长连接问题
6.秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)
7.会不会写前端(会,但也仅是会写,会写jQuery,CSS3)
8.你平时都用什么开发工具?IntelliJ IDEA相比Ecplise有什么好(快捷键)
9.跟面试官聊天,讨论了很多关于后台大并发量的问题
10.你今后的研究方向是什么
(一)调整自己的心态,正确面对得失
面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。
(二)提升技术,扩宽知识
对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。那么如何提升自己的技术,扩宽自己的知识储备呢?
以下是我个人的一些做法,希望可以给各位提供一些帮助:
- 21天啃完283页的pdf文档
**Java部分:**Java基础,集合,并发,多线程,JVM,设计模式
**数据结构算法:**Java算法,数据结构
**开源框架部分:**Spring,MyBatis,MVC,netty,tomcat
**分布式部分:**架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
**微服务部分:**SpringBoot,SpringCloud,Dubbo,Docker
最后
对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
a开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。**
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
[外链图片转存中…(img-Zf3N3wDe-1714563845947)]