应届生/实习生面试经验

1,113 阅读5分钟

简历编写

简历上写的必须要会,我算是半路转java的,考研失败后原本学习的Nodejs,Python web和爬虫方向都不好找工作,所以决定转了Java。面试的时候,其实我Java 的web框架都还不是很熟悉,最开始的时候面试Java实习生的工作,面试官让我讲几个Spring Boot的注解,我都讲不出来,场面一度非常尴尬。后面一次面试实习生,面试官问我,MySQL jvm 哪个熟悉点,让我告诉他,再次尴尬。后面问了我volatile关键字,我也是不会。其实jvm这个我也没写在简历上,但是MySQL我是有写的,太久没面试了,所以我都没想到对实习生要求也这么高了。

最近半个月面试,简历的模板是根据冷熊简历写的,只写了自己用过的。不知道是不是这个时间点的原因还是自己的简历不够优秀,反正面试机会挺少的。正常的面试(还有一些奇葩面试)只有三家,其实三家下来感觉都还可以,虽然有的问题实在是答不出来,感觉自己已经发挥了80%了。问的大部分都还是简历上写的,jvm啥的都没问,所以感觉挺舒服的。

自我介绍

和我一个有两年工作经验的朋友聊天,他和我说,每次面试官让他自我介绍,他都不知道说啥,觉得没啥好自我介绍的,简历上都写了。其实我也有这种感觉,实在不知道说啥,但是每次都还要说的,所以提前准备好自我介绍还是挺重要的。这几次面试,我都是这样说的:

    面试官您好,我在学校主要学习了xxx,xxx语言,做后端开发比较多,但是也了解一些前端开发,比如xxx,xxx。
学过的web框架有xxx,xxx,并且在课余时间也做了一些项目,比如xxx,xxx。数据库的话我学习了xxx,xxx。还有计
算机基础,比如数据结构,计算机网络,操作系统等我也都有学习。有空的时候,我会逛逛github,博客论坛,我会去
看看别人写的博客,自己也会尝试去写一些质量比较高的博客。

我也不知道这样讲好不好,反正这几次我都是这样讲的,如果有更好的也可以讨论一下。

项目经验

项目经验很重要,基本自我介绍完,就先开始让你介绍自己的项目了。因为我自己能力的问题,其实项目的复杂度并不是很高。所以面试官问我,你这个项目的难点是什么,或者出了crud还有什么。我会讲不怎么来,所以我目前的打算也是完善一下项目经验,再去下一个面试。有的面经上写要说明你这个项目解决了啥问题,但是这个应该不是实习生或者应届生的重点,我觉得对我们来说还是体验自己能力为主。下面讲讲我觉得的重点:

  • 项目的重难点,除了crud的东西
  • 做这个项目的原因
  • 项目里用到的技术栈,为啥用,用了该技术栈解决啥问题

如果是商城项目,一般会问,库存相关,比如东西卖超了咋办

面试题

最后再讲一下这几次面试的面试题叭。

数据库部分

我写了MySQL,Redis,MongoDB

  • 先说问的最少的,MongoDB,基本没咋问过,不过上次问我MongoDB和其它nosql数据库的区别,而不是问我和关系型数据库的区别。把我问蒙了。

  • Redis,问的不多,但是每家基本都会问。对实习生来说,问题难度也不高。

  • 持久化存储

  • Redis快的原因

  • 最多的就是MySQL了,记几个真实问过的,里面的东西展开实在是太多了。

  • 索引(包括b+树)

  • 锁(包括悲观,乐观、行锁、表锁)

  • 优化相关

框架部分

基本没咋问,其实感觉自己的框架知识掌握的还不是很好,不过面试官一般很少问框架的问题。

计算机基础部分

  • HTTP状态码
  • 某个算法的流程,问了我快排的

部署相关

虽然很奇怪为啥要问开发怎么部署,可能觉得这也是应该掌握的叭。

现在docker挺流行的,所以一般都是docker部署的。所以会问一些有没有写过dockerfile之类的问题。

其它

一般就是对简历上其它技术栈问一下,我的话还问了ES,和消息队列。下面是几个问题:

ES部分:

  • 分词器
  • 倒排索引
  • 架构
  • 如何解决es中数据和mysql中数据一致性的问题

消息队列:

  • 项目中的功能可以不用消息队列实现,但是为啥要用到消息队列
  • 消息队列的用处

总结

  • 准备好自我介绍
  • 准备好项目介绍,体现出项目的难度,这样更好的展示自己的水平
  • 简历上写的都要会,问你的时候至少有东西可以扯
  • 基础部分不能忘