1. 简单介绍下你做过的项目

    该项目是一个B2B2C的线上电子商务项目,主要分为面向用户的前台系统,面向商家的商家平台,面向运营的运营管理平台。系统的前端采用Angularjs和Bootstrap框架,后端采用SSM框架使用Maven管理,全后端均采用MVC的设计模式,整体是面向服务SOA架构。列举商家入驻这一功能,首先需要在商家平台上编写入驻申请的相关代码,在做添加操作的时候将商家表中的status字段设置为0(代表该商家未审核)。在运营商平台的商家管理模块中有商家列表选择功能,这个商家列表上有一个商家状态options,点击下拉列表未审核状态可以查询所有商家表中status字段为0的商家,在点击审核通过的时候通过angular绑定model数值为1,然后通过ng-click点击方法执行前端控制层调用前端服务层方法的逻辑,将商家id和model数值1作为参数传入后端控制器,通过实现Spring Security的认证管理器,在实现类中注入商家服务完成对商家角色和status字段的修改,以及对商家登录密码的加密,使用BCrypt算法。

  2. 商品录入功能是怎么实现的?

    只有商家申请状态是通过的才可以有商品录入的功能。

    商品录入需要涉及八张表,其中模板表关联规格表和品牌表商品分类表,商家SKU表和SPU表和它们的详情表。在商品录入选择分类的时候通过模板ID相应的读取规格和品牌并使用ng-options展示,根据模板表来对SKU和SPU进行存储。其中,SKU存储商品的标题,卖点,价格,库存数,创建时间等信息,SPU主要存储商品的状态,品牌,副标题,三级类目录,图片,规格ID等信息,SPU还提供一个is_default字段表示是否是SPU的默认SKU。

  3. 分页在项目中是怎么实现的?

    分页是最常用的功能之一,因为数据不可能一次读取和展示。公司提供了分页的接口,只需要将当前页结果和总记录作为参数传递就可以得到当前页结果列表。主要是通过angular的pagination组件和mybatis的pageHelper插件来实现的。

    1. 可以介绍下Spring Security吗?

    2. 拦截的页面有 支付   不拦截的搜索 购物车 登录
    3. web.xml配置安全拦截器对登录拦截之后 通过xml的user标签对用户名和密码进行认证 查询数据库
    4. 登录成功后 再通过realm对用户进行权限认证.  权限因为不总发生改变 因此将权限数据 保存在缓存中
  4. Spring Security是Spring平.台提供的声明式的安全访问控制框架。

    声明式的意思就是如果公司做活动,负责人只需要通知HR去买道具就可以了。在框架上的表现就是通过xml配置页面拦截规则和认证管理器。比如需要一个退出登录的功能,只需要在xml中添加logou标签,然后在a标签中使用'../logout'就可以退出了。如果是访问一个静态资源而没有在xml中设置的话会报重定向过多的错误。

    在项目中通过实现自定义认证类并重写对应方法获取用户信息回调函数,在函数中通过赋予用户角色来指定用户的访问权限。

  5. 系统中存在大量的图片你们是怎么处理的?

    使用了fastDFS分布式文件系统对项目中的图片进行了处理,fastDFS是用c语言编写的为互联网量身定制的分布式文件系统

    公司封装了FastDFS的文件上传下载的方法,只需要将文件信息,比如文件全路径,扩展名等作为参数传递就可以了。

    需要注意的是,angular对于get/post请求默认的content-type是application/json,所以需要在js中设置content-type为默认,这样浏览器会自动将content-type设置为multipart/form-data。

  6. 你在redis在项目中的具体应用是怎样的?

    redis在项目中被大量使用到了,比如网站前台的广告,购物车,商品规格品牌,秒杀活动等等。主要是操作hash,使用redistempelate.boundsHashOps().put()设置缓存,get()获取缓存,delete()清除缓存。

  7. solr在项目中的使用。

    搜索服务是电商的核心服务之一,可以比较精准的定位想要的商品,\如果使用自带的搜索功能,那么沉重的数据库加载会拖垮应用的性能。解决方案就是将搜索转移到一个外部搜索服务器

    通过solrhome的schema.xml文件配置于数据库中需要搜索的字段于solr域对应的方式实现搜索业务,使用复制域解决商品搜索时既需要从商品描述域也要从商品标题中搜索的情况(如果不使用复制域就要发送两次搜索请求),配置动态域的方式处理商品表中存储的规格需要根据商品分类动态读取时的问题

    商品搜索数据的动态导入是通过actionMQ实现的,就是通过jmsTemplate.send()方法发送封装的消息(list->string),创建MessageListener实现类,重写onMessage方法,在方法中将得到的消息转换(string->list),最后使用solrTemplate.saveBeans()方法对数据进行导入并commit()。为什么需要做转换?是因为actionMQ消息类型不支持list。

  8. 了解微服务吗?

    微服务是最近出现的一个概念,就是一些项目随着时间的推移,项目本身越来越复杂,像微信小程序就是移动APP上的微服务。

    Spring Boot就是WEB上的小程序,它解决了A框架中存在Cjar,B框架中也存在Cjar,并且它们的Cjar版本不一致导致的兼容性问题,还提供了热部署。项目中的短信服务就是一个微服务主要提供短信发送验证等功能,使用Spring Boot、actionMQ和阿里大于完成。

  9. 商品秒杀业务是怎么完成的。 秒杀业务是比较好的redis实现场景,例如秒杀的倒计时在redis中可以通过设置key的超时时间轻松完成。 在活动开始的时候通过读取商品详情信息到缓存服务器,以数据库中的时间为准,通过Spring Task的cron表达式每秒查询过期商品,当用户点击抢购时减少缓存中的库存数量,产生的秒杀订单不会立即写到数据库,只有当用户付款成功才会写到数据库,当库存数为0或者活动时间结束的时候同步到数据库中

  10. 你有什么要问我的吗?

    一般最后面试官会给你机会提出问题,千万不要说没有问题,这会让人觉得你对这次面试不重视。可以根据具体公司提出具体的问题,比如在传统行业就可以询问一些福利向的问题,在互联网行业就可以询问技术向的问题。一般都可以这么问:这个职位需要的能力您认为我还有什么不足吗?这是面试结果比较糟糕时候的问法;如果觉得面试很有把握拿到Office,那么就可以问公司技术人员的配置和主要使用什么技术。总之,原则就是诚恳,真挚,尊重和投入,切忌问的问题不要太LOW,尽量问一些需要面试官思考才能回答的问题或者与自己切身利益相关的问题。

转载于:https://www.cnblogs.com/shan1393/p/9406839.html

项目功能介绍 非常有用相关推荐

  1. 仓库管理系统商业项目功能介绍

    仓库管理系统商业项目功能介绍 课程简介 仓库管理系统是为企业定制开发的仓库管理系统,功能完善,使用方便,主要功能有质量检测,采购入库,采购退货,销售出库,销售退货,仓库盘点,库存报表,Excel导入导 ...

  2. Node.js博客系统--1.学前要求、项目功能介绍、需求分析

    本系列教程<Node.JS之"个人博客开发实战教程">你可以学会:深度了解 Nodejs+express+mongodb+mongoose,打造个人博客,娴熟掌握前台的 ...

  3. 前端学习(2779):项目功能介绍

  4. 适合公司用的电子邮箱哪家好?企业邮箱最全功能介绍~

    适合公司用的电子邮箱哪家好?这是作为很多初创企业尤为关心的问题.办公软件的选择直接影响着企业的工作效率.今天以4大企业邮箱品牌之一的TOM企业邮箱,为大家分享下企业邮箱全面的功能介绍觉得有用请点赞分享 ...

  5. go语言Web开发框架:项目开发介绍及实战项目介绍

    引言 本系列课程我们将学些Golang语言中的Web开发框架Iris的相关知识和用法.通过本系列视频课程,大家能够从零到一经历一个完整项目的开发,并在课程中了解实战项目开发的流程和项目设涉及的各个模块 ...

  6. Bootstrap4+MySQL前后端综合实训-Day09-AM【项目功能展示视频、小组汇报PPT、项目介绍】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 项目功能展示视频(视频地址:https://live.csdn.n ...

  7. 网络云盘项目——HTTP接口介绍、功能介绍、服务端/客户端代码解析

    一.本文目的 本项目分为6篇博客文章完成: 1.项目总体介绍:https://blog.csdn.net/qq_41453285/article/details/107871393. 2.Redis部 ...

  8. SpringBoot个人博客项目搭建—前端页面功能介绍(一)

    SpringBoot个人博客-前端页面功能介绍(一) 项目首页地址:https://blog.csdn.net/weixin_45019350/article/details/108869025 一. ...

  9. 探花交友_第1章_项目介绍以及实现登录功能_第1节_功能介绍

    探花交友_第1章_项目介绍以及实现登录功能_第1节_功能介绍 文章目录 探花交友_第1章_项目介绍以及实现登录功能_第1节_功能介绍 1.功能介绍 1.1.功能列表 1.2.注册登录 1.3.交友 1 ...

  10. SSM综合练习功能介绍与项目演示

    功能介绍 主要讲解maven工程搭建,以及基于oracle数据库的商品表信息,并完成SSM整合. 商品查询 基于SSM整合基础上完成商品查询,要掌握主面页面main.jsp及商品显示页面product ...

最新文章

  1. 路由及路由器工作原理深入解析3:路由与port
  2. 监视mysql 哪些指标_MySQL 监控指标
  3. Opencv卷积滤波cvFilter2D-高通与低通
  4. java 类参数_Java的数据类型和参数传递(详解)
  5. Python封装发送信息到钉钉群
  6. 惯性传感器的卡尔曼滤波
  7. android显示3d模型_Creator3D:太厉害了!3D模型原来可以这样显示在2DUI上
  8. 我有一个域名_一个域名可以绑定几个网站?域名解析多少子域名?
  9. IOS之block,一点小心得
  10. python往mysql存入数据_Python向mysql存入数据出错.
  11. win11网络配置文件类型怎么更改 Windows11更改网络配置文件类型的步骤教程
  12. 翻译:响应式编程或反应式编程 RxSwift和RxCocoa 从入门到精通 Reactive programming
  13. Linux安装mysql5.7.35
  14. aucc2018插件_Voxengo音频插件合集2018最新版
  15. word怎么在下一页添加表头_word表格在换页时能否自动在新换页上带上表头,如何设置...
  16. 算法小课堂(十)随机化算法
  17. Python爬取天猫店铺的企业名1:根据店铺名获得店铺链接
  18. 顶级文案到底需要怎么嗨?
  19. JavaScript时间换算单位
  20. Python 数据分析第六期--文本数据分析

热门文章

  1. Android中解析XML的方法
  2. c#的内存管理(托管及未托管对象管理)
  3. HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效...
  4. 使用管理员权限运行的程序无法浏览网络驱动器的问题
  5. 计算某个目录下所有文件的MD5值
  6. WPF利用HelixToolKit后台导入3D模型
  7. virtual 初探
  8. wikioi 2315 longge的问题 2012年省队选拔赛山东(欧拉函数应用)
  9. result之global-results全局结果集
  10. Updatepanel jquery 失效解决方案