最近,有位小伙伴向我们诉苦:
“每次面试时,面试官都会问我之前做过什么项目,可人家一听说我没有项目经验,就不想要我了。”
类似这种场景一定也有在其他人身上发生过,其实很多公司的本意不是考察你有没有项目经验。他们的真实目的是想知道你有没有做项目的能力,能不能在入职后快速上手。
因为来面试的人一般比较多,要是简历上也没什么出彩的,就只能问你有没有做项目的经验了。
其实这里有一个很多人容易忽略的点,想要做完一个项目,系统设计的能力是非常重要的。
系统设计主要考察以下几个方面:
  • 可行解 Work Solution 25%
  • 特定问题 Special Case 20%
  • 分析能力 Analysis 25%
  • 权衡 Tradeoff 15%
  • 知识储备 Knowledge Base15%
实际上,针对系统设计问题,九章算法有一套4S分析法,即使完全不知道的问题也可以按照这个方法一步步去回答。
所谓4S分析法中的4S是指Scenario(场景),Service(服务),Storage(存储),Scale(扩展)。
在九章算法的《系统架构设计2021版》会具体讲解面试常考的十六大系统,以及一个经典的系统设计题目——如何设计一个Twitter?,感兴趣的话可以免费试听体验一下。
扫码报名,免费试听
第一步:Scenario 场景
在这一步,你需要询问面试官需要设计哪些功能(也可以自己想),需要承受多大的访问量?
首先可以把Twitter的功能一个个罗列出来,因为你无法在45分钟的面试中完成所有功能的设计,所以需要筛选出核心功能(Post a Tweet,Timeline,News Feed,Follow/Unfollow a user,Register/Login)。
第二步,Service服务
所谓服务可以认为是逻辑处理的整合,对于同一类问题的逻辑处理可以归并到一个服务中。这一步实际上就是将整个系统细分为若干个小的服务。
根据第一步选出的核心功能,我们可以将推特拆分成如下的几个服务:
第三步,Storage 存储
接下来就是4S分析法中最重要的一部分,存储。根据每个服务的数据特性选择合适的存储结构,然后细化数据表结构。
系统设计中可以选择的存储结构一般有三大类:数据库系统,文件系统,缓存系统。其中数据库系统又分为关系型数据库(SQL Database)和非关系型数据库(NoSQL Database)。
用过前3个步骤的分析,我们已经得到了一个可行方案,注意是Work Solution而不是Perfect Solution,这个方案可以存在很多待解决的缺陷。
第四步,Scale 扩展
这一步主要分两部分,一个是优化,包括解决设计缺陷,更多功能设计以及一些特殊情况如何处理;另一个是维护,包括系统的鲁棒性和扩展性,比如有一台服务器/数据库挂了怎么办?如果有流量暴增,如何扩展?
如果还想深入了解关于扩展的更多内容,可以去《系统架构设计》听讲解,现在前两节限免开放。
扫码报名,免费试听
你的系统设计能力的好坏,可以在面试时直接决定你的薪资和职级,所以一定要重视起来。
假如你的系统设计能力已经足够应付面试,但你就是执着于想要几个项目来丰富你的简历。
那我首先建议你去体验一下FB高级架构师的《Twitter 后端系统 - Python 项目实战》
扫码报名,免费试听
从零设计Twitter项目6周时间内进行万行代码输出,对于真实开发环境中的流程进行完整还原,产出符合工业化可以直接上线的产品。
核心知识点包括:
这个项目深度对标L5/P8的技术水准,绝对是你想要的有水准的项目经历。
其他还有一些比较好的项目:
实例一:Python练习册,每天一个小程序
用Python每天做一个小程序,并且提供源码。
https://github.com/Yixiaohan/show-me-the-code#python-%
实例二:JSP+Servlet+Javabean+Mysql 网上书店管理系统
以MVC架构搭建在线书店管理系统,采用JSP+Servlet+JavaBean技术实现,采用Mysql数据库为数据支持。包含数据库.sql脚本,可方便导入使用。
https://download.csdn.net/download/hhd1988/3104248
实例三:电商秒杀系统
项目课能让你在2周内快速实现秒杀系统项目,并且可以直接写进简历里,提供项目源代码,不怕学不会。
电商秒杀项目的8大技术架构
https://www.jiuzhang.com/course/86/?utm_source=sc-zhihu-mwy1027
实例四:Python搭建的web接口聊天机器人
用Python搭建的聊天机器人,接口为web形式,运行后可以直接通过url与机器人聊天,用到了aiml开源库。
https://download.csdn.net/download/tobacco5648/9417643
掌握了这些项目,相信你一定能在面试的时候抬头挺胸,对面试官的问题也可以对答如流。
话不说,道了技巧就开始着手准备吧,祝你早日找到满意的工作!
戳下方
阅读原文”免费试听课程
继续阅读
阅读原文