文章目录
先说一下我自己的情况
我就读于湖南大学,软件工程专业,现在大三下
很巧的是,我在大二的时候就在相同的时间面过相同的部门和相同的岗位,所以我没有做笔试就直接让我去面试了。我当时还纳闷,为什么阿里如此高效。等我面完之后面试官才发现我没做笔试,然后反手就给了我笔试链接。
面试过程
在面试之前我心里很清楚自己有哪些地方没有准备好,最主要的就是JVM这一块儿,然后是Spring和Mybatis框架这一块儿(后面果然问到了JVM和Spring)。所以就想着要绕开这一部分,有时间的话还是要多准备,但如果被问到了也一定要实事求是,然后绕到自己熟悉的技术点去
面试官:先简单介绍一下你自己吧
我:(自我介绍,主要将了自己学习Java的历程)
面试官:双等号和equals的区别
我:正常回答
面试官:String、StringBuffer和StringBuilder的区别
我:正常回答
面试官:Java虚拟机方面有了解过吗?
我:坦白自己没有深入了解,并说明自己后续会深入学习
面试官:那我问你几个简单的,看你知不知道,类加载机制知道大致流程吗
我:(没有讲明白,但是把自己知道的东西讲了,能讲的尽量讲了)
面试官:你项目中有接触过JVM吗
我:(我知道他指的是JVM优化,但我确实也没用过,所以就说了自己没用过)
面试官:(面试官没有为难我,开了另一个话题)那个设计模式你了解得这么样
我:答了单例模式和工厂模式,具体答了单例模式的一些实现细节(这一块儿我也是薄弱块儿,当时也就只看了单例模式和工厂模式)
面试官:多线程这块儿你现在有涉及到吗
我:(多线程这块准备的比较多,所以开始引导面试官向我准备比较充分的地方问)讲了多线程的很多特性
面试官:你用过ThreadPoolExecutor类吗
我:(发现开始问线程池这方面的知识了)回答了线程池的核心参数和饱和策略
面试官:关于Spring里的一些知识你了解过吗
我:(开始问Spring,我知道这方面会比较复杂,很多知识点也比较深,由于没有充分准备,所以我赶紧把面试官往我熟悉的地方引入)讲了SpringIoC原理和AOP,然后顺便讲了讲拦截器
面试官:技术问题就到这里,讲一下你比较有亮点的项目
我:(开始讲项目了,这个我有提前准备,把项目中比较突出的技术讲了一下,特意提到了Redis,因为有所准备)
面试官:Redis用在哪种场景下
我:正常回答
面试官:Redis修改的时候你是怎么操作的(指缓存过期)
我:正常回答
面试官:你缓存查不到了,数据库里也没有数据,然后用户又发送大量请求,你怎么考虑
我:(立马意识到是在提缓存穿透,但我当时忘了应对措施了)跟面试官讲了一下缓存穿透,然后说自己在项目中忽略了这个问题,然后想了一下缓存穿透的应对措施,总之没有答好
面试官:面试官知道我不是很了解,说没事儿,这个不强求。然后问我在项目中最大的收获
我:我答了最大的收获是团队协作,使用git管理代码,还有代码规范
面试官:你刚才介绍自己学习能力强,体现在哪方面呢?
我:我提到了自己接触硬件编程,并且很快掌握的事情
面试到这里差不多就结束了,然后面试官说看我这边笔试已经完成了吧?我直接问号,原来是因为去年面试的时候做的笔试,让面试官误以为我已经做了笔试,所以才出现先面试再笔试的情况
面试官:问我有什么想问的
我:问了面试过程,然后就结束面试了
总结
赶紧恶补JVM,Spring和MVC的知识,原理一定要弄明白。面试还是要有所准备,但完全准备也是不太可能的,最好的方式就是边面边学。只有面了之后,你才知道自己真正缺的是什么东西。愿共勉!