<tbody id='deo74m9p'></tbody>

  • <i id='22yjowih'><tr id='4yuq51sk'><dt id='neg6admy'><q id='tkz65g7p'><span id='0lxyz8i3'><b id='bdul1gjm'><form id='vc5eoigk'><ins id='hlaes8za'></ins><ul id='yc2zb91e'></ul><sub id='00rrnumw'></sub></form><legend id='76o6sjx1'></legend><bdo id='tazvv0we'><pre id='p78urpbb'><center id='ctivi4ve'></center></pre></bdo></b><th id='wcltqo42'></th></span></q></dt></tr></i><div id='j3vr42ak'><tfoot id='mbbfojbp'></tfoot><dl id='4xyxansg'><fieldset id='oshggpaw'></fieldset></dl></div>

    <small id='zsvogfvo'></small><noframes id='kxi8qzr5'>

  • <tfoot id='gc5ie1yf'></tfoot>
      <legend id='qsvdgqqa'><style id='3rld8sxn'><dir id='4fqiwu3j'><q id='pugsxbhk'></q></dir></style></legend>
        网站建设公司当前位置 : 网站建设公司 > 知识普及

        电商项目面试问题

        发布时间:2021-08-26 11:28   浏览次数:次   
        项目介绍
        ①属于B2C平台----商家对客户
         
        ②系统的用途,主要是提供B2C的平台,其中自营商品也有商家入住,类似天猫。
         
        ③系统架构,采用分布式的系统架构,其中前台系统和单点登录系统采用了集群的方式部署,在后台管理系统中采用了Maven的多模块化的管理,其中采用了水平切分的方式,将pojo、dao、service、web分层开发,这样做的好处就是可以重用性更高。
         
        系统内部接口调用采用Httpclient,并且使用Httpclient的连接池技术,接口提供端采用RESTful方式的接口定义;
         
        系统之间的通知机制采用MQ的方式,使用RabbitMQ的实现,使用了RabbitMQ的消息订阅模式的消息机制;
         
        系统的接口还对JS的跨域做了支持,采用了jsonp的解决方法,在后台接口中扩展了spirng提供的jackson数据转化器实现;
         
            ④部署方面,采用了Nginx+tomcat的模式,其中nginx的作用一方面是做反向代理、负载均衡、另一方面是做图片等静态资源的服务器。
         
        项目介绍应该从这个项目的模式、功能、架构、解决了什么问题、部署以及投入使用情况来说。
         
        2.整个项目的架构如何?
        一般情况这个问题要从两个方面去回答,从技术架构和功能架构去谈。
         
        技术架构:本项目使用主流框架spring+springmvc+mybatis进行开发,采用分布式的系统架构,前台系统和单点登录系统采用了集群的方式部署,后台管理系统中采用了Maven的多模块化的管理,其中采用了水平切分的方式,将pojo、dao、service、web分层开发,这样做的好处就是可以重用性更高。系统内部接口调用采用Httpclient,并且使用Httpclient的连接池技术,接口提供端采用RESTful方式的接口定义;系统之间的通知机制采用MQ的方式,使用RabbitMQ的实现,使用了RabbitMQ的消息订阅模式的消息机制;系统的接口还对JS的跨域做了支持,采用了jsonp的解决方法,在后台接口中扩展了spirng提供的jackson数据转化器实现;搜索系统使用了solr实现,在保证系统高性能的前提下,尽可能为公司节约成本,我们使用MySQL数据库进行集群(oracle收费)。在部署方面,采用了Nginx+tomcat的模式,其中nginx的作用一方面是做反向代理、负载均衡、另一方面是做图片等静态资源的服务器。
         
        功能架构:分布式系统架构
         
         
         
        各个系统说明:
         
        后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
         
        前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。
         
        会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。
         
        订单系统:提供下单、查询订单、修改订单状态、定时处理订单。
         
        搜索系统:提供商品的搜索功能。
         
        单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。
         
        谈到分布式架构,我们必须对比传统架构才能彰显其优势。
         
            ①最为明显的一点,在传统的架构中,如果某个功能需要进行维护,那么我们必须停掉整个服务,这对于公司的运营会造成损失。分布式系统在核心功能模块使用单独服务器,维护部分模块不影响用户的其他操作。
         
            ②在海量数据处理方面,传统架构显得比较乏力;分布式系统架构采用服务器集群,使用负载均衡,海量数据处理游刃有余!
         
            ③在性能(检索)以及维护方面,分布式系统架构也有较为明显的优势。
         
        传统架构:
         
         
         
        3.这个项目为用户提供了哪些服务?包括哪些功能?
        u 商品管理模块:其中包括品牌管理,属性管理商品录入/上下架管理,商品添加审核,静态页面发布
        u 订单模块:其中包括使用activiti工作流订单的查询和订单的流转,定时作废
        u 商品前台首页:其中主要负责首页商品列表筛选,首页上动态展示筛选条件,点击每一个筛选条件下面的商品列表要做联动
        u 单品页面:采用freemarker来实现页面静态化,展示商品详情信息和商品购买,该页面采用静态化以减轻系统压力,使用了cxf框架发布服务
        u 提交订单页面:提交用户的订单信息, 处理并发问题。
        u 个人中心,包括用户的登录,个人信息的管理,收货地址的管理,用户所下的订单的管理
        u 购物车:把购物车的信息存在cookie里面管理
         
        4.你承担这个项目的哪些核心模块?
        在项目中主要负责相关系统的开发,主要有:
         
            1) 后台管理系统,主要实现商品管理、商品规格参数管理、订单管理、会员管理等、CMS(内容管理系统)等,并且提供了跨域支持;
         
            2) 前台系统,主要是面向用户访问,使用Httpclient和后台系统接口做交互,并且该系统在部署上采用集群的方式;
         
            3) 单点登录系统,主要是提供集中用户登录凭证的集中解决方案,提供和用户信息相关的接口,比如说用户注册、查询等接口。
         
            4) 订单系统,主要是提供和订单相关的业务接口,在订单系统了做了严格的数据校验以及高并发写的支持(这里可以说使用队列实现),并且使用了Quartz定时任务实现对订单的定时扫描,比如说关闭超时未付款的订单;
         
            5) 搜索系统,主要是提供商品的搜索,采用开源企业级系统Solr实现,采用了MQ机制保证了商品数据可以及时同步到solr中;
         
            6) 会员系统,主要是维护用户的信息,已购买订单、优惠券、系统消息、修改密码、绑定手机等功能;
         
            7) 缓存,主要是用Redis实现,并且对Redis做了集群来保证Redis服务的高可用。8) 支付系统,主要是负责订单的支付、对账等功能,主要是对接了支付宝的接口;
         
        5.这些模块的实现思路说一下?
        ①商品管理模块
         
        品牌管理:
        主要掌握的核心是品牌的添加
        l 图片服务器的搭建,
        l 上传图片到图片服务器
        l 表单的验证,离开焦点的验证,点击完成时的验证,后台服务器的ajax验证,表单规范
        l 防止表单的二次提交
        l 编辑时不需要修改品牌名,区别readOnly和disabled
         
        l 删除时的二次确认
        注意:
        自定义属性必须掌握:html中自定义的属性可以帮助索引元素
        图片服务器的搭建
        1. 创建一个maven的web工程,在工程中创建一个存放资源的目录
        2. 把tomcat的web.xml中DefaultServlet的只读属性改成false
         
        3. 编写上传到图片服务器的代码
        由于应用服务器与图片服务器出于不同的两台机器之中,所以可以提高系统的性能,能起到负载均衡的作用。上传图片时使用Jersey客户端API调用REST风格的Web服务,Jersey1是一个开源的、可以用于生产环境的JAX-RS(RESTful Web Services 的Java API 规范,JSR-311)实现。通Jersey 可以很方便的使用Java来创建一个RESTful Web Services。
         
        <tfoot id='01gonpr3'></tfoot>

          <tbody id='0uw03nux'></tbody>
          1. <small id='6gghtqrx'></small><noframes id='r3427gv7'>

              <legend id='yzh1d6jd'><style id='31wxmmxz'><dir id='y542jen7'><q id='ix4wgb56'></q></dir></style></legend>

              <i id='xznf7479'><tr id='y3vy11mh'><dt id='gsjfnqnc'><q id='zckw1l8v'><span id='bgk9mm7h'><b id='2usmbm5f'><form id='kjzhmbvr'><ins id='vuu9vrdy'></ins><ul id='dfjwvv2f'></ul><sub id='rm15vj2w'></sub></form><legend id='754qn9en'></legend><bdo id='uigtnd8i'><pre id='1dvzxr2i'><center id='9oxtunq4'></center></pre></bdo></b><th id='o00z6yhr'></th></span></q></dt></tr></i><div id='u06rf0p8'><tfoot id='ata3q6lx'></tfoot><dl id='4pmq720n'><fieldset id='1a1rg424'></fieldset></dl></div>

            • 本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

              上一篇:电商项目介绍 小程序开发上一篇
              下一篇公众号开发下一篇:电商概述:电商分类
              <i id='jlj75atc'><tr id='rrwaatv8'><dt id='kv4c72jz'><q id='s0vz3aec'><span id='61ljoli2'><b id='o6pmdivy'><form id='zl1qbu19'><ins id='5u1aegnt'></ins><ul id='bkal3v3b'></ul><sub id='48noamkq'></sub></form><legend id='y9oh9fyf'></legend><bdo id='sllp6b9q'><pre id='492tehlg'><center id='pge0zmmz'></center></pre></bdo></b><th id='q3mvbsiw'></th></span></q></dt></tr></i><div id='9d50b0tv'><tfoot id='onfuqcom'></tfoot><dl id='tzvs44p0'><fieldset id='bo83jh2v'></fieldset></dl></div>

                <tbody id='a8djqbkf'></tbody>
                <tfoot id='0jtrbw4i'></tfoot>
              1. <small id='p8xaurrm'></small><noframes id='uv8nv66b'>

                • <legend id='te6uis7d'><style id='zd8yha48'><dir id='8pw8vb3d'><q id='4vpszeh5'></q></dir></style></legend>