找工作面试的过程中,项目将会是整个流程的核心灵魂,也是能在面试中能让面试官尽快认同你的一个强有力的依据,所以在面试中把电商项目清晰的表述出来是极为关键的。
提示:阅读本文需要30分钟
电商项目里的技术特点?
①技术更新较快:根据市场的需求,不断迭代更新.
②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言;数据库中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle,但是 PHP 一般都是以 MySQL 为主),服务器端使用 Linux(少部分公司会用到 Unix),还经常涉及到服务器安全、系统安全等安全方面的技术.
③分布式:从前的单一的机器上运行,现在是分散到不同机器上,最后将数据集中汇总。集中式向分布式进行发展是由需求来推动.
④高并发、集群(高可用集群)、负载均衡:由并发问题采用集群进行处理,其中,集群会涉及服务器的主从以及分布问题,使用负载均衡。(权重高低)高可用是对用户而言,用户的服务不中断(系统升级,服务不中断,公司电商系统的部分更新等)。
⑤海量数据:每年商家的各类活动(双 11,双 12 等等)订单量、浏览数、商品量、活动相关数据都将会超级大超级多(一般随同高并发出现).
⑥业务复杂:电商业务并不简单:并不是商品展示出来后,简单的加入购物车后购买就完成了。除此以外后台业务逻辑是相当复杂,比如优惠(包邮、满减),秒杀,抢购等.
⑦系统安全:系统上线必须通过系统安全部门审核通过,安全性问题正逐步的被放到台面上,而且很多企业对这块相当重视.
系统功能
本商城系统是一个综合性的 B2C 平台,类似京东商城、天猫商城.
用户:
- 用户可以通过注册成为商城的会员,登录商城
- 根据会员等级获得相应的优惠和特权
- 用户可以浏览商品,可以根据商品类型进行搜索
- 用户可以对购物车进行操作(增删改查商品的数量、商品详情等)
- 用户下订单、退订单,对订单的结算等
商家:
- 商家可以入驻商城,在商城里开店售卖自己的商品.
- 商家也有商家等级,如果在商城好评和商品销售量到达一定数量,可获得商家的一些特权
- 商家可以管理自己店铺的商品:上架下架商品;设定库存量;设定自己店铺的会员制度等
电商项目的思维图
以上是大部分常用模块,如有其它模块自行补充。根据上图的体系架构,一层层的进行归纳记忆,从项目——模块——功能一点点的往深入熟悉记忆,并且加以理解.
项目团队构成
产品经理:1 人,确定需求以及给出产品原型图。
项目经理:1 人,项目管理。
UI 设计 :1 人, 制作项目原型效果图。
前端团队:1 人,根据产品经理给出的原型制作静态页面。
后端团队:3 人,实现产品功能。
运维 :1 人 ,负责公司运维项目的系统。
测试团队:2 人,测试所有的功能。(小公司不会有测试)
(上述是以团队为单位,有的公司技术部不止一个团队,还有运维、UI、交互设计师等等,视情况而定)
项目开发流程
涉及技术
框架:ThinkPHP CI YII Laravel 等
前端:HTML CSS JS/JQ(Bootstrap、node.js、angluar.js 等可以了解下) AJAX
PHP:PHP+MySQL session 和 cookie Nosql(redis memcache mongdb) 接口技术 缓存技术 优化技术等等
服务器方面:Linux Nginx
开发环境:WAMP 或者是 LAMP 比较常见,除此以外还有 LNMP 等
常用的工具:PHPStorm(PHP 最正统的工具) NetBeans Editplus Webstorm(web 最正统的工具) Sublime Dreamweaver SVN GIT
(简历中或者是面试中尽量不要提及版本号,如果要写则需要把版本号对齐,否则不要写版本号)
电商面试常见问题
1.说说你最近做的这个项目的背景,简单的介绍一下你这个项目?
我们公司之前主要以实体店为主,进行批发与零售,业务也相对比较传统。为了适应市场需求,增强公司竞争力,提升业务绩效,另一方面,也为基于互联网的商务模式创新奠定基础。所以开始 xxx 商城建设项目,其中包含商品管理、订单管理、类目管理、客户管理、合作商管理、客服管理、购物平台、内容管理等,很大程度上分担了人工的压力,对提高客户服务效率和客户满意度能够起到较好的作用。(先大体的描述下项目,然后能够挑一两个自己最为熟悉的模块进行叙述)
2.项目的整体结构(从框架和具体技术来说)
框架方面:从大处进行描述,比如本项目是属于电商项目,采用的是 TP 框架,运用php+MySQL+Apache 进行开发。因为 TP 框架是开源的、轻量级的,所以用起来更加方便快捷,从效率和成本方面来讲都是性价比比较高的,所以那时候团队决定用这个框架进行开发。然后再从框架的一些优点特性进行说明下,让面试官觉得你对这个框架很了解技术:描述技术时首先用从自己比较熟悉的模块入手(比如说注册验证时会用到的 JS 技术、正则匹配、ajax 无刷新验证等等),然后由此慢慢的向其他方面的技术进行拓展,在说具体技术的时候如果能说到目前比较新或者是比较有难度的技术,能够让面 试官眼前一亮,这样能为自己的面试增加不少分。