hello,大家好,我是bigsai。
最近发了字节实习面经和腾讯实习面经,刷题和八股文很多小老弟知道套路,知道该怎么去做,但是很多人比较匮乏项目这方面的经验,这方面的话我的经验也不是很多,就分享一下自己的看法,大家可以适当的看看。
不过上牛客看了最近的面经和自己几轮面试经验,感觉各家对项目的重视还是蛮大的,所以提早吃透自己的项目,做好介绍和描述优化,能够在冲刺面试专心备战八股文和面经。
项目重要嘛
项目真的蛮重要的!对于简历模块来说,一般也就是基本信息、个人技能、竞赛荣誉、(有效)实习经验、项目经验、个人评价这几个核心模块,在向互联网公司投递的过程中很多时候咔嚓的一下就被刷了,咔咔投,咔咔被刷。
在各个模块中,大部分指标都是一些偏硬的短期能够优化的空间很少,而个人发挥较大空间的就是项目经验和个人评价这两块,但个人评价写的都很优秀的(吹吹自己还是会的)但是项目写的水平就参差不齐,有的人写着写着就写偏了…… 所以在简历这个环节中,项目还是非常重要的,好的项目能够让HR和面试官眼前一亮,当然,这里的好并不一定真的好,但要让HR和面试官觉得好。
项目从何来
很多人都困惑项目到底该从哪里来,并且很多人都觉得自己刷题有思路,八股文也能背,就是项目经历这块让自己很是苦恼,自己就是无项目经历,项目空想肯定是想不出来的。
如果有机会,项目还是一定要自己参与一些的,这样对项目的理解比较深刻,并且说出来的时候也更自信。
校园本创、大创、创新创业大赛等等:各个学校基本都有这个项目活动,这种活动一般是从开题到结束大几个月或者近一年,有指导老师,一个团队大概3-5个人(干活的大概也就那核心两人),这种一般可能有两种,一种是老师或者学长有的资源项目要进行拓展优化,另一种就是从0开始开发一个项目,我其实感觉第二种更好一些,参与项目的设计和开发能够学到更多。在这种环境下,任务分工明确,开题、中期答辩报告、答辩报告、导师指导交流这些都需要对项目进行深入思考考虑。在这过程不仅能在项目制作过程中学到开发技术,撰写各种文档、PPT也能加深自己对项目背景、意义、功能、未来展望等方面的理解,这些在简历和面试中是非常重要的。如果在这过程走完(最好做一个负责人),项目经验是不用愁的,并且加入也很容易,联系熟悉的老师或者学长沟通沟通即可。
计算机类软件设计大赛: 计算机有很多软件设计类大赛,比如中国软件杯、挑战杯、互联网+、华为杯、计算机设计大赛等等,虽然含金量高低不等,但不少比赛学校还是很重视的,会组织报名参加甚至指导。这类赛事很多,有的赛事还会有特定的主题要求,时间可能不那么宽松但是还是来的急的,找两志同道合队友一起干,不过最好有一个比较会吹牛写文档和演讲的,这类比赛很多时候你的演讲口才一定程度能决定你的项目成绩,而技术并不是很重要的评判标准,要让裁判觉得你这个项目确实很有价值和前景。这方面如果欠缺可以多看看马baba的演讲,熏陶熏陶。
校园使用类: 有些项目可能在学习生活中真的需要使用,但是不一定很适合比赛,比如作业提交系统系统、校园义工管理平台、课程成绩查询小程序、校园xx项目等等,这些项目可能听起来没那么高大上,但是大部分都是可以投入使用,有一部分用户群体,要围绕落地这方面对项目进行详细的描述。
实习项目、教师项目: 有些同学参加了实习,负责项目中的某个模块,又或者老师可能接了某些项目自己参与其中负责某些模块。这类项目大部分都是有实用场景并且整个项目挺大,不需要将整个项目都搞的透彻但是你要知道整个项目是干什么的,自己负责的模块设计、功能、实习要很清楚。
其他途径: 除此之外,可能还有一些其他途径能够有项目经验的机会,比如有些课设如果有优化空间可以拿来作为项目经历,还有就是毕业设计有的好的选题的也可作为项目经验。
上面说到的只要想参加其实都很很容易加入的,谁不喜欢来个干活的人呢!你只需要用下图这个姿态找到对应负责人即可:
如果自己没机会参与项目但是缺项目经验怎么办?
这个的话肯定不能坐以待毙啊,感觉有这几个途径可以简单考虑下(详细就不介绍):
1.首先可以向自己熟悉的人(最好不是同届但问题也不大)如果他有不错的项目可以拿过来学习摸透使用一下,因为熟人他可以把项目相关的所有文档、代码都给你,你在吸收理解同时有不会的也能直接咨询他,吸收起来效率很高。
2.如果没啥熟悉的人可以要来项目学习,那么Github或者互联网上面的资源就需要你去寻找 并找到一个适合自己的,不过这种项目通常不一定很容易好找,可能会面临以下几个问题:项目太大学不完,项目太小有点拉胯,项目没文档吸收太慢等等,找到一个好的项目确实不容易。
3.花钱在网上报班或者买项目速成一下,有点贵但是并不是很推荐,土豪请随意。
项目选题注意
不能为了项目而项目,项目选题也有很多注意点和讲究的,这里面谈谈个人的看法:
在项目选题方向上,应该避免过分大众化、抄袭化。可以从以下三个角度和方向考虑一下:研究型项目、落地型项目、开源型项目。
研究型的项目的话,可以看看当前各个大厂的发展、投资方向,有的虽然不太适合我们做(技术难度和成本大),但是往一些教育、学习等方向还是可以做一些小型项目的。而电商、社交论坛等方向在很久前就挺成熟,花样繁多,你的创造不一定会让别人产生兴趣。
落地型的话就是能够真实落地使用的,如果你有想法的可以搞个网站、app上线运营,面向全社会人群,如果这个小站能够有一定用户量和粘性那么对你的受益无穷,这个的话认识不少优秀的人搞了自己网站有资源整合的,有面向刷题的,有面向就业薪水,有面向学习打卡的,都有不少的用户,还是非常羡慕他们的。如果很难大范围应用,可以做个校园之类项目或者xx管理系统,但是避免图书管理系统因为一个学校只有一个图书管理系统并且肯定不会用你开发的那个。
开源型的话我觉得对代码规范性和项目复用性的要求比较高,一般都是开源爱好大佬去写的一些项目或轮子,通常要对一行或者一个模块有比较深的理解,能够有效降低其他开发者的开发成本和难度才行,如果对这方面有想法的那肯定不会愁有无项目经验的。
简历上的项目
有了项目之后,肯定要想着往简历上编写啦,但也需要注意以下几点。
写的不同于说
简历上写的项目经历,和我们和面试官介绍的项目经历不同,写在简历上的项目介绍尽量保持描述精炼,项目介绍用词规范高大上一点;给面试官讲项目的时候尽量保持通俗化介绍,避免背诵剧本。另外给面试官介绍时候也可以把项目开发背景、为什么开发项目、项目功能模块、项目设计过程、难点重点、意义和取得收获等等都可以介绍,不过项目中不能能各个模块都介绍很详细,你可以挑一些你觉得靓点稍微详细一点。
学会适当包装
项目介绍尽量保持真实性,需要适度包装,项目不要吹得天花乱坠,也不要觉得项目没啥技术含量。在项目介绍过程中就要介绍自己负责的模块,面试官问项目中的问题、细节处理避免卡壳。介绍项目时候如果项目确实没那么高大上那就要往真实需求、落地真实使用等方向描述。大部分项目都是CURD,但是你的CURD能够解决什么问题,有什么意义和不一样的地方就需要你考虑了,学会适当包装。
内容完整紧凑
项目内容介绍方面,有很多人拿捏不是很准,有的人写的过于简短让人觉得好像没有项目一样,有的人介绍太过于详细让人很难有耐心看下去(HR筛选简历一份简历可能就看一分钟左右)。简历上的项目描述应该包含 功能模块、使用到技术、个人职责、收获等方面的内容,避免项目中只讲技术不讲业务,也要避免只讲业务不讲技术,不过在介绍技术、方案时候最好能说一下使用这个技术、方案项目某方面的提升之处和优势就更好了。
控制项目数量
简历上的项目一般2-3个为益,最好不同项目的方向不同,如果整体描述内容较为丰富,可写两个,如果内容比较精简,写三个也成,但个人觉得2个项目就足够了。
避免技术陈旧
自己的项目使用的技术应该用到当前流行的主流框架和技术栈,避免使用太过于陈旧的技术栈或者不相关的技术栈,比如如果一个项目中用JSP这种技术面试官的第一想法可能是很陈旧,如果用到一些比较犀利的中间件或者微服务组件(把握火候)面试官可能会比较感兴趣。
其他
无论在哪,都要体现一个自信、乐观、谦虚学习的态度。面试过程除了是技术考察的过程,也是一个与人交流的过程。
结语
除了上面说到的,肯定还有重要点没有涉及到,并且上述就是自己的个人看法,对一些无项目经验小白可能有一些帮助。
总结一下,大部分面试流程是算法+八股文+项目。很多时候八股文的内容是根据项目技术栈进行延伸一下问的,其实如果项目中用到技术被问到大部分自己还是了解被问到大部分都能回答的,并且项目中设计模式,HTTP知识,MySQL、Redis等中间件也是面试官很喜欢问的。
如果还年轻,自己可以参与一个项目,跟学长、学姐、老师沟通交流就很容易加入队伍的,我当时大二时候也没有项目经验,大三时候自己主动找舍友做伙伴,找老师加入一个本创项目然后开始从0设计开发,过程虽然很长但是项目各种文档和包装优化还是知道一点的。拿着项目顺便去参加比赛,参加一些看看别人项目描述自己描述多碰撞几次还是会有很多收获的。
如果时间来不及,那就抓紧找一些七大姑八大姨的项目学习一下。
在面试过程中的项目介绍,是对简历上更详细的介绍和描述,可以提前先写一个介绍稿子逻辑顺着逻辑介绍,不过多说几次其实逻辑性就会更强,面试途中难免紧张,但是多面几次有经验就好了。
本文转载自微信公众号「bigsai」,可以通过以下二维码关注。转载本文请联系bigsai公众号。