Java 开发
一、软实力
业务理解
对自己所处的业务有比较深刻的理解。主动去熟悉一个领域内的业务知识,这其实对后续需求的开发更有利。
如果已经工作三年了,最好长期深耕一个业务,这样才会对这个业务的业界设计、业务难点、业务解决方案有长期的积累。
有大型互联网开发经验
国内大型互联网开发经验者优先。
技术热情
长期写博客、经常在公司内分享也是一大优势,因为这表达了你对技术的热情和对技术的探究。
强大的推动力
通过平时的工作发现目前产品上或者系统架构上存在的问题,然后去思考如何彻底去解决这些问题,并最终提出解决方案解决这些问题。而且还要主动去推动解决方案的落地和执行。
二、项目经验
高并发
高并发的套路:接口异步化、多级缓存、资源静态化(多用于秒杀的业务场景)、接口调用并发化、加机器。
高可用
高可用的方法有很多,比如:系统隔离、限流、降级等。
稳定性
一些公司稳定性规范的执行。比如:大促封网、大促前压测、评估容量、发布时必须检查 checklist、代码 review、单测覆盖率、弱依赖是否可以降级等。
提效降本
把系统的设计做成组件化、配置化。
业务产品化经验
如何把一个业务做成一个产品,对外打包输出自己的能力?
对产品未来发展的规划能力
这个非常考验你对产品的熟悉程度、对业务的理解、对技术的理解。
如何让现有的系统可以快速的响应业务的发展,这个需要业务和技术的打通。比如:在熟悉整体业务的条件下对业务系统进行模块化、组件化、配置化、平台化。
这个是很大的亮点。
领域设计
领域设计其实就是看你对模块化设计的掌握程度。比如:业务应该怎么拆分?业务边界如何划分?
三、技术实力
Java 语言
Java 基础语法、Java 并发、JVM 等。
框架源码
Spring、Tomcat、Dubbo、Kafka、Netty、Zookeeper 等。
计算机基础
操作系统、计算机网络、计算机体系结构、编译原理、数据库。
数据结构和算法
Java 集合源码以及 letcode 简单、中等级别的题目。
系统设计
转:https://blog.csdn.net/a1102325298/article/details/113928333