5、具备产品意识,思路清晰,良好的沟通能力和技术学习能力
研发架构师:
1、扎实的java基础,精通Java EE、数据库、缓存、消息队列、索引等技术;
2、精通分布式架构,熟悉主流的微服务框架,如Spring Cloud、Dubbo、Zookeeper等,并精通其原理;
3、精通linux常用命令,网络协议,jvm、tomcat、nginx等调优;
4、具备较强的推进能力和责任心,优秀的沟通能力和团队精神,热爱技术工作;
5、有高并发、高性能、高可用大型网站构建经验者优先;
6、有企业运营管理类ERP复杂业务系统搭建经验者优先。
高级工程师:
1、6年以上工作经验,作为核心成员参加过大中型互联网Web应用开发,有互联网金融相关的贷款、支付、清结算方面开发经验优先;
2、JAVA基础扎实,理解 io、多线程、集合等基础框架,对JVM原理有一定的了解;
3、熟练掌握Oracle数据库,掌握SQL性能调优,熟悉数据库原理,有读写分离、分库分表经验;
4、对各种开源的框架如Spring,spring mvc,mybatis ,spring boot等有深入的了解(框架提供的特性及其实现原理,看过源码);
5、熟悉分布式系统及常用组件:Dubbo,Zookeeper,MQ,FastDFS,Redis、ELK等,理解RPC底层实现原理。
有人会问,经验要求有悬殊,怎么都可以去面试?
其实,做咱们这一行的都懂,很多简历上的工作经验都要靠点包装,1年到头谁没个3/5个月加班的?要想简历上好看,包装一下都是正常的,谁认真谁就输了!
说白了我到现在工作差不多4年多点,要我去面试6/7年的岗位,我还真不虚。
好了,下面来说正事。
简历
网上找的简历,截了一张图
简历这一块我倒是觉得没什么难度,改包装的包装一下,自己做过什么项目就都写上(小声的说下,其实你有关系比较密切的同事或朋友参加的项目,你也能写上,很多细节问都问得来。当然,如果你有较为丰富的项目经验,可以不这样做),总而言之,项目经验这一块是要比较丰富的,总结得也要好!
关于熟悉、精通的技术这块,最简单不过了,人家岗位需求什么你就写什么呗!只是写的时候自己稍微总结一下,外加自己的一些擅长的技术点缀,看起来就不会像是在抄招聘信息了。
其他地方就可以言简意赅了,注意:工作经历这一块不要显得你跳槽特别平凡,意思你懂的!
说明:这里不是叫大家怎么去撒谎,距自己和面试公司的情况而定!出去以后不要说是为师教的!!!
项目经验介绍
简历中提到了项目经验,这里就多说一些。
项目经验丰不丰富,体现的是你技术的运用程度,参与的项目越多,就表明你能力越强。(这里指的是真正在做项目的人,划水的除外)
还有一点就是,你关于每一次项目的总结,这里要体现你的责任心,就是你对于项目的预期、计划、你付诸的行动及达成的结果。这一地就是马上讲到的,在面试中介绍项目经验的STAR法则。
STAR法则
背景,设计,行动,还有结果。
一般面试官在面试我们的时候都会问一个问题,请你挑一个你认为做得好的项目,来给我讲解一下,这个时候,我们一般挑的一个我们最近做过的对我们的这个业务,对我们技术的指标有比较明显提升的一个项目。
**第一就是背景。**我们在讲解这个项目之前呢,首先要跟面试官去讲解我们为什么要做这个项目,做这个项目的背景是什么。比如说,我们的业务需要去提升用户的留存,然后去提升我们整体的用户体验等等,以及我们的系统在哪里遇到了瓶颈,如果不做可能会对我们的业务产生什么影响。这是我们为什么要去做这个项目。而不要跟面试官聊说,因为公司安排我做这个,我就做这个。
**第二就是设计。**我们在项目的过程中需要去根据我们业务的特点,我们用户的特点,比如说我们用户的各种特征,来去设计我们的这个项目,然后去达成我们的业务目标,在技术指标上面,我们需要去考虑我们整体系统的访问量,我们的QPS,我们的承载量,我们的这个底级底层存储的容量,以及我们后续未来半年到一年的时间,我们系统容量成长程度是不是需要提前准备扩容等等。
**第三就是行动。**行动就是在整个项目过程中,我们是如何去推进的,保证我们项目的顺利进行。在这里面是要去体现我们整体的项目管理推动能力,以及我们的解决问题的能力。
**最后是我们项目的结果。**有很多小伙伴其实对我们项目的结果并不怎么关注,其实这是一个错误的想法,首先我们在跟面试官去讲解我们项目结果的时候,不能以这种比较笼统的概念,比如说,我的这个用户的留存提升了,我的系统响应变快了等等。我们需要给出一些比较具体的指标,比如说,我的这个用户留存从40%提升到了45%,我的系统响应时间从一秒降低到了几百毫秒,以及我的这个系统从原来的稳定性从99.9%提升到了99.99%等等,在这里是要去体现出来我们对于我们整个项目结果的关注度以及我们对于业务的关注度。
技术问题
一般情况下,面试的技术问题有三个来源:
1、你所做项目中应用到的技术;
2、你简历职业技能中体现的技术;
3、公司任职要求中的技术。
↑↑↑做好笔记没???↑↑↑
这下知道怎么做准备了吧?
看看最前面的任职需求,其实很多常用前沿的技术都是重复的,大多数公司要考察的也无非是这些了:
具体技术问题有Mysql、Redis、MQ、分布式、Nginx等等,比如说像Mysql的索引、聚簇索引、非聚簇索引、回表查询、MVCC、分布式事务事务等等一些的原理,比如说Redis的主从同步、集群、哨兵等等这一些,MQ的方案选型,还有Nginx的日志如何排查…
说在最后
我这里刚好有一套热门技术点的技术面试题,需要的话可以私信【面试】或【资料】免费领取!!!
微服务
- Dubbo
- springboot
- springcloud
性能优化
- Nginx
- ActiveMQ
- RabbitMQ
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/f7ab2a167ae1a843a27e9a73d0f92eec.jpeg)
最后希望可以帮助到大家!
千千万万要记得:多刷题!!多刷题!!
之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!
篇幅有限,以下只能截图分享部分的资源!!
(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)
(2)刷的算法题(还有左神的算法笔记)
(3)面经+真题解析+对应的相关笔记(很全面)
(4)视频学习(部分)
ps:当你觉得学不进或者累了的时候,视频是个不错的选择
在这里,最后只一句话:祝大家offer拿到手软!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
选择
在这里,最后只一句话:祝大家offer拿到手软!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!