从面试官角度再论面试前准备项目描述和介绍项目的要点,2024年最新阿里java校招面试题目

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

下面我说下真实项目里会出现的情况,写这些内容的目的不是让有些同学把学习项目和培训项目往商业项目上靠,而是让大家的简历更具备说服力。

1 工作年限比较少的同学,未必会开发完成一个模块或参与一个项目的开发,更多场景下是参与一个维护项目,比如公司一个项目已经上线了,这个项目是历史项目,所以用的技术未必最新,但在维护项目里,其实也会开发一些功能点,该用的技术一个不会少,针对每个模块维护的时间周期也不会太长,比如每个月,针对某个模块上线3个功能点,这样也是合情合理的。

2 还是这句话,如果有用到比较新的技术,结合业务场景写,比如用到了redis,你是缓存了哪类业务数据,这类业务数据的特点如果真的是符合缓存条件的,那么就加深了你熟悉这个技术的可信度。

3 你站在项目经理的角度想一下,某个功能如果工期很紧,而且数据量和并发量真的不大,那么为什么要用分布式组件?换句话说,如果你在简历里写的项目背景里,有高并发请求,那么引入分布式组件的可信度就高了。而且,项目经理会让一个工作经验不足的人独立使用技术含量高的组件吗?如果候选人工作经验不多,那么比较可信的描述是,由架构师搭建好组件框架,本人用到其中一些API,但用的时候,对该组件的流程和技术坑非常了解,那么以此证明自己对该组件比较熟悉,这样可信度就非常高了。

换句话说,你写好简历里的项目描述后,自己先读一遍,如果有夸张的成分,更得多推敲,除了个别虚假简历之外,很多情况下,其实简历是真实的,但没写好,有很多漏洞,被面试官一质疑就慌了,导致面试官认为简历不真实。

3 沉浸入项目角色,多列些项目管理工具和技术使用细节(就是坑)

其实证明相关项目经验是商业项目,这仅仅是第一步,更多的时候,你得通过简历中的项目描述,证明你的技能和职位描述相匹配,再进一步,你也可以证明你确实用过一些比较值钱的技术。

对于项目开发而言,只要项目是真实的,你就一定会经历过一些场景,对于技术而言,只要你用到了,那么一定能说出些“海底针”。所以在写简历时,建议大家列些如下的关键点,以证实真实性。

1 项目的背景,多少人做?做了多久?用什么工具打包部署发布(比如ant加jenkins)?用到哪些测试工具?用什么来进行版本管理(比如Maven+JIra)?如何打印日志(比如logger)?部署环境时,用到哪个web服务器和数据库(比如spring boot+oracle)。

这些话在简历中一笔带过也用不了多少文字,但这样不仅能提升项目的真实性,更能展示你的实际技能。

2 项目的开发模式和开发周期,比如用敏捷开发,那么每一个月作为一个周期,每次发布个若干功能,在每个周期发布前几天,会冻结开发,在开发过程中,会有每天的站会,代码开发完成后,会有code review。

3  在写技术(尤其是值钱技术)描述时,最好写些细节,比如用到了dubbo,那么可以写需要设置dubbo超时时间和重试次数是1,否则可能会出现调用,如果用到了线程池,那么如何避免线程池中的OOM问题,或者用到了nginx,你就把配置文件里的关键要素写些出来。

也就是说,你写技术时,不仅得结合项目需求写(即xx技术实现了xx功能),最好再些一些(不用太多)这个技术的用法细节(也未必太深)。面试官其实就看你用到的技术是否和职位匹配,如果职位介绍里的技术点你有都招这点要求写了,至少在筛选简历的时候,你过关的可能性就很大了。

4 最好写些你解决的实际问题,大而言之,实际问题可以包括配置集群时的要点(比如一定要设置某个配置),小而言之,你可以写如何实现一个功能(比如出统计报表时,你用到了数据库里的行转列的功能)。哪怕是学习项目和培训项目,你运行通现有代码的时候,也会遇到各类的坑,这就更不用说商业项目了。在简历里项目描述部分,你就写上一两个,这样证明真实性的力度绝对会非常高。

5 加上单元测试和分析问题和排查问题的描述。

比如,在这个系统里,我是用SoapUI作为自测的工具(或者用JUnit),在测试环境上,如果出现问题,我会到linux里,用less等命令查看日志,再用JMeter等工具查看JVM的调用情况,以此来排查问题。

这种话在简历中写下大概的描述,给出关键字(比如Jmeter,SOAPUI或职位介绍里出现的关键字)即可,不用展开,但在面试前要准备说辞。

我知道有些候选人会对项目描述做些改动,比如在最近的项目描述里,加上些之前项目里用到的技术,或者加上职位描述里提到的技术。在这种做法是否恰当,大家自己评估,但如果你在这类技术描述里,加上本部分提到的一些要点,面试官就很难甄别了。

4 事先得排练介绍项目的说辞,讲解时,一定得围绕职位需求要点

这里说句题外话,我面试过的候选人,从他们的表现来看,很多人是不准备项目描述的,是想到哪说到哪,这样的话,如果你准备了,和你的竞争者相比,你就大占优势了。

在本文的第3部分里,我给出了5个方面,在简历里,你未必要写全,但在准备面试说辞时,你一定得都准备。

1 你在项目描述里列到的所有技术点,尤其是热门的以及在职位介绍里提到的技术点,你一定得准备说辞。也是按“技术如何服务需求”以及“技术实现细节”来说,更进一步,你最好全面了解下这个技术的用法。比如nginx如何实现反向代理,该如何设置配置以及lua脚本,如果分布式系统里某个结点失效了,我想在反向代理时去掉,那该怎么在nginx配置里设。针对这个技术的常用问题点,你最好都准备下。

2 介绍项目时,可以介绍用到哪些技术,但别展开,等面试官来问,所谓放长线钓大鱼。这个效果要比你直接说出来要好很多。

3 有些基础的技能需求,在职位描述里未必会列,但你一定得掌握。比如通过设计模式优化代码架构,熟悉多线程并发,熟悉数据库调优等。关于这些,你可以准备些说辞,比如在这个项目里,遇到sql过长的情况,我会通过执行计划来调优,如果通过日志发现JVM性能不高,我也能排查问题,然后坐等面试官来问。

4 开阔你的视野,别让面试官感觉你只会用非常初步的功能点。比如你项目里用到了dubbo,但在项目里,你就用到了简单的调用,那么你就不妨搜下该技术的深入技术以及别人遇到的坑,在面试过程中,你也可以找机会说出来。

5 在项目介绍时多准备些“包袱”

刚才也提到了,在介绍项目里,你可以抛些亮点,但未必要展开,因为介绍项目时,你是介绍整体的项目以及用到的技术,如果你过于偏重介绍一个技术,那么面试官不仅会认为你表达沟通方面有问题,而且还会认为这个技术你事先准备过。

如下列些大家可以抛出的亮点:

1 底层代码方面,大家可以说,了解Spring IOC或Nginx(或其它任何一个职位介绍里提到的技术)的底层实现代码。面试时,大家可以先通过UML图的形式画出该技术的重要模块和过程流程,再通过讲述其中一个模块的代码来说明你确实熟悉这个技术的底层实现。

2 数据库调优方面。比如oracle,你可以用某个长SQL为例,讲下你通过执行计划看到有哪些改进点,然后如何改进,这样的例子不用多,2,3个即可,面试时估计面试官听到其中一个以后就会认为你非常熟悉数据调优了。

3 JVM调优和如何通过设计模式改善代码结构,在Java核心技术及面试指南里我已经提到了,这里就不展开了。

4 架构层面的调优方法,比如通过分库分表,通过数据库集群,或者通过缓存。

其实关于亮点的内容,我在Java Web轻量级开发面试教程里,也有详细描述。这里想说的是,大家可以准备的亮点绝不止上述4个,大家可以从调优(比如通过分布式优化并发情况场景)和技术架构(比如SSM, 分布式消息队列)上准备。再啰嗦一句,职位介绍里提到的技能点,比如Redis,大家还可以用熟悉底层实现代码来作为“亮点”,比如介绍项目时,轻描淡写地说句,我熟悉Redis底层代码(当然也可以写到简历上),然后等面试官来问时,动笔说下。

6 别让面试官感觉你只会使用技术

按照上述的建议,只要你能力可以(哪怕可上可下),你通过技术面试的可能性就大大增加了。但面试时,如果你表现出如下的软实力,比如在简历上项目描述部分写上,或介绍项目时说出,那么面试官甚至会感觉你很优秀。

1 该项目的工期比较紧,我会合理安排时间,必要时,我会在项目经理安排下周末加班。(体现你的责任心)

最后

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性

Java面试宝典2021版

最常见Java面试题解析(2021最新版)

2021企业Java面试题精选

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-HfCrCpB4-1713302223127)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值