前言
嗨喽呀,大家好。我是初级Java工程师小红,这是我第一次写博客,请大家多多指教。想要分享的是自己总结的面试过程和知识点,希望可以帮到那些即将出来找工作的小伙伴,那么废话不多说。
当我们到达应聘的公司,一般是在前台做登记,然后做一套笔试题;笔试题涉及基础、编程题、sql语句和算法题,当然每家公司出题组合不一样,还有可能遇上实操,如,写stock编程通讯;这里不做更多解析,大家可以在牛客网上多刷题。
一、了解Java面试过程
进入面试环节后,面试官会让你来一段自我介绍(这个要事先准备好哦,时间把握在1-2分钟,因为面试官要重新审阅你的简历,为下面的发问做准备,还有可能对笔试题进行查阅和发文)。
首先,问的是你简历上相关的项目问题:比如说:1.项目是否上线,上线后出现过的问题;2.你负责的功能模块的处理过程,如用到的技术和遇到的问题;主要是了解你项目的框架以及你个人负责功能的实现,考察你业务逻辑能力和解决问题的能力;
其次,是框架的原理和应用情况;“可以具体讲解IOC和AOP的原理吗?”,“springboot常用注解有哪些?具体讲一下@SpringbootApplication的原理是怎样的?”,“缓存雪崩了解过吗?怎么解决?”,“缓存持久层机制是否了解”,“有自己部署过哪些中间件?Nginx了解吗?”,“讲一下dubbo原理”,“springCloud是否了解?和dubbo有什么区别?”,“日志你们是怎么管理的?”,“sql优化会吗?”;也有可能让你手写sql、或画原理图、架构图。
再者就是Java基础了。“hashmap用过吧?是否看过源码?可以具体讲讲吗?”,“多线程是否了解?创建方式都有哪些?各有什么特点?”,“队列和栈的区别是什么?”,“JVM了解过吗?”
这些都是面试初级和中级Java开发工程是常见面试题,具体的详解都可以通过CSDN、Java相关公众号和哔哩哔哩视频进行查阅。建议问到自己不擅长的领域时,引到自己熟悉的相关知识点去讲;还有就是准备1-2个知识点进行深层次的研究,如springboot的相关知识点、Nginx部署、redis;基础也是,如,准备集合、多线程和常用API的应用。一般面试时间达到40分钟以上是比较有希望的,记得给面试官留下可以胜任此岗位,且有爱学习的态度,如,结合招聘需求及其应用框架讲一下自身优点。
二、需要掌握的知识点
(一)基础知识点
1.面向对象设计思想
2.常用API
3.集合
4.反射
5.多线程
6.IO流
7.泛型
(二)框架知识点
1.SpringMVC
2.Spring
3.Mybatis
4.SpringBoot
5.SpringCloud
6.Dubbo
(三)中间件知识点
1.redis
2.zookeeper
3.消息中间件
4.Nginx
(三)数据库知识点
1.MySql
2.Oracle
因为这些知识点都是需要去理解和记住的,所以建议大家在记这些知识点的时候按分类点去记忆,按树的结构去整理;知道它的涵义、作用、特点以及应用(开发常用点)。
最后,希望大家可以顺利通过面试,因为机会往往是留给有准备的人。