当前位置: 首页 > news >正文

1到3年的Java开发工程师应该如何准备面试

这段时间经常在朋友圈看到这样的图片

很有意思哈,确实到了国庆很难静下来再学习,但对于正在找工作的人来说,这段时间是最好的弯道超车机会了。今天就来讲一下Java开发工程师应该如何准备面试。

(一)基础知识篇

基础知识也就是现在很多人口头中的“八股文”,现在的行情就是这样,如果你不背这些知识点,面试基本上就被刷,所以基础知识一定要掌握牢靠。

有些人可能会说,我虽然不会某些知识点,但是我干活能力很强。但是对面试官来说,每天成百上千份简历,好几个面试。他宁愿相信背题厉害的,也不愿相信基础都不会但是说自己能力强的。

基础知识分为几块:

1、计算机网络

2、操作系统

3、数据结构

4、Java基础

对于刚毕业的人来说,面试这四块基本都是重点,工作1到3年,重点是Java基础。

如何准备基础知识,我个人比较推荐github上的JavaStarterJavaGuide。知识点不仅要背,而且要理解,只知道一点皮毛很容易露馅。

(二)框架篇

我看过几百份刚毕业学生的简历,上面还写着jsp、servlet。基本的SpringBoot都没有,在现在这种大环境下,很难找到工作,甚至很难得到面试机会。公司招人除了看中潜力和基础外,最看重的就是工作能力。连这些基础框架都不会,说明平常代码写的很少,自然就很难入面试官的法眼了。

框架如何学习,B站上有很多框架类的视频教程,也可以看我的博客系列。学完框架后,最好能自己动手写一个小项目,我的置顶博客上也提供了很适合初学者的项目。

框架需要熟练掌握SpringBoot全家桶,SpringCloud如果不会至少需要理解微服务内涵、会使用基础组件。

(三)刷题篇

针对1到3年的Java开发工程师,绝大部分互联网企业都会有笔试题这一关。我个人认为这一关是最难临时抱佛脚的,刷题一般是算法题、基础题或者场景题

算法题是个长期的过程,我的建议即使你没有换工作的打算,也要每周刷几道leetcode。如果需要临时抱佛脚,就选一些经典的题目敲熟练,比如《剑指offer》中的算法题,虽然没有很多,但是每一题都很经典,适合临时抱佛脚。第二点去一些网站看看这家公司的面经,说不定就是同样的题目。

基础题的最好刷题网站是牛客网,基础题也是最好每天能刷几道,如果准备面试了,在前一个月开始就得疯狂刷牛客网和leetcode,相信后面的笔试题部分就不会有大问题了。

场景题没有准确答案,主要是考察你能否给出合理的解决方案,一般这类题目以大数据量或者高并发居多,比如高并发下如何优化接口响应时间、大数据量下如何存储数据。或者是让你实现一种功能,比如实现点赞功能的思路。对于这类题目,可以提前在网上找一些,然后自己对于一些基本的场景需要有思路。场景题主要针对有工作经验的人群。

(四)项目篇

面试必问项目,没有项目经验必被刷。不管是刚毕业还是有过一两年的工作经验,一定要填上自己十分熟悉的项目。不管是工作中的项目还是自己写的项目,面试之前务必自己介绍几遍。从我这么多次面试来看,到二面之后面试官就会让你介绍一下自己印象最深的项目。

这里的考察点主要有以下几个:

1、考察你是否真正参与了项目,并了解你在项目中担任什么角色。

2、考察你的语言表达能力,如果一个人连自己做的东西也讲不清,很难让人对你产生信任。

3、在你介绍项目时问一些项目中的知识点,也算是问一些基础。

项目准备是十分重要的,千万不能忽视。我的建议是,如果没有项目,想办法写一个出来,哪怕是github上的,你能下下来改成你自己的东西都可以,这也是一种能力。有了项目之后自己录音介绍项目,然后听录音反复修改。

(五)经验篇

以我个人经验以及我身边不少朋友的经验来看,面试也是一门学问,并且面试理论上是最容易涨薪的环节。发挥好或者坏可能就是几千块钱的差距。

给你一些建议:

1、列出自己的心仪的公司,然后排名,从排名最靠后的开始面,增加面试经验。

2、每次面试完之后及时复盘,发现哪里不太会要及时查漏补缺。

3、学历很重要,如果学历不好一定要有其他地方突出你的优点,项目或者其他方面。

最后祝大家都能进入心仪的公司。投个票,大家现在都是什么状态呢?

相关文章:

  • 写了两年代码之后再来看看Spring中的Bean
  • 【Python之旅】第二篇(四):字典
  • 使用Optional更优雅地处理非空判断
  • 你能保证你的代码没有异常吗?
  • OC之NSString/NSMutableString
  • 公司CEO和我说:在系统优化的时候,不要轻易用多线程
  • phalapi-进阶篇6(解决大量数据存储数据库分表分库拓展)
  • 快速理解工厂方法模式,及其在源码中的应用
  • 线上报了内存溢出异常,又不完全是内存溢出
  • 用代码告诉你“问世间情为何物,直教人生死相许”
  • 互联网公司的完整开发流程是怎样的?
  • 如何在SpringBoot启动时执行初始化操作,两个简单接口就可以实现
  • BZOJ4584 : [Apio2016]赛艇
  • 查准考证网站卡了整整一个小时进不去,被抢票支配的恐惧又来了
  • 【C#公共帮助类】 ToolsHelper帮助类
  • Android优雅地处理按钮重复点击
  • co.js - 让异步代码同步化
  • emacs初体验
  • exif信息对照
  • express如何解决request entity too large问题
  • JavaScript设计模式之工厂模式
  • JAVA并发编程--1.基础概念
  • Joomla 2.x, 3.x useful code cheatsheet
  • magento2项目上线注意事项
  • miaov-React 最佳入门
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • React 快速上手 - 07 前端路由 react-router
  • 初识 webpack
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于Android乐音识别(2)
  • 聚类分析——Kmeans
  • 前端_面试
  • 区块链技术特点之去中心化特性
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • HanLP分词命名实体提取详解
  • (Forward) Music Player: From UI Proposal to Code
  • (libusb) usb口自动刷新
  • (Matlab)使用竞争神经网络实现数据聚类
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • .Net 4.0并行库实用性演练
  • .Net CF下精确的计时器
  • .NET CLR Hosting 简介
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET开发人员必知的八个网站
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET运行机制
  • @JsonFormat与@DateTimeFormat注解的使用
  • @TableLogic注解说明,以及对增删改查的影响
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [2016.7.Test1] T1 三进制异或