转载自:http://bbs.itheima.com/thread-329954-1-1.html?srx

dubbo服务开发流程,运行流程?zookeeper注册中心的作用?

使用流程:
第一步:要在系统中使用dubbo应该先搭建一个注册中心,一般推荐使用zookeeper。
第二步:有了注册中心然后是发布服务,发布服务需要使用spring容器和dubbo标签来发布服务。并且发布服务时需要指定注册中心的位置。
第三步:服务发布之后就是调用服务。一般调用服务也是使用spring容器和dubbo标签来引用服务,这样就可以在客户端的容器中生成一个服务的代理对象,在action或者Controller中直接调用service的方法即可。
Zookeeper注册中心的作用主要就是注册和发现服务的作用。类似于房产中介的作用,在系统中并不参与服务的调用及数据的传输。

redis为什么可以做缓存?项目中使用redis的目的是什么?redis什么时候使用?

1)Redis是key-value形式的nosql数据库。可以快速的定位到所查找的key,并把其中的value取出来。并且redis的所有的数据都是放到内存中,存取的速度非常快,一般都是用来做缓存使用。
2)项目中使用redis一般都是作为缓存来使用的,缓存的目的就是为了减轻数据库的压力提高存取的效率。
3)在互联网项目中只要是涉及高并发或者是存在大量读数据的情况下都可以使用redis作为缓存。当然redis提供丰富的数据类型,除了缓存还可以根据实际的业务场景来决定redis的作用。例如使用redis保存用户的购物车信息、生成订单号、访问量计数器、任务队列、排行榜等。
acitveMQ的作用、原理?(生产者。消费者。 p2p、订阅实现流程)
Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理就是生产者生产消息,把消息发送给activemq。Activemq接收到消息,然后查看有多少个消费者,然后把消息转发给消费者,此过程中生产者无需参与。消费者接收到消息后做相应的处理和生产者没有任何关系。
当技术面试官问到你某个技术点更深层次研究时,自己没有深入了解怎么回答?
如果没有深入研究就直接回答不知道就可以了。
solr怎么设置搜索结果排名靠前(得分)?
可以设置文档中域的boost值,boost值越高计算出来的相关度得分就越高,排名也就越靠前。此方法可以把热点商品或者是推广商品的排名提高。

solr的原理

Solr是基于Lucene开发的全文检索服务器,而Lucene就是一套实现了全文检索的api,其本质就是一个全文检索的过程。全文检索就是把原始文档根据一定的规则拆分成若干个关键词,然后根据关键词创建索引,当查询时先查询索引找到对应的关键词,并根据关键词找到对应的文档,也就是查询结果,最终把查询结果展示给用户的过程。
solr里面IK分词器的原理
IK分析器的分词原理本质上是词典分词。现在内存中初始化一个词典,然后在分词过程中逐个读取字符,和字典中的字符相匹配,把文档中的所有的词语拆分出来的过程。

支付接口是怎么做的?

面试中可以说支付这部分不是我们做的,我们项目中并没有涉及支付部分的处理。如果想了解支付是如何实现可以参考之前学过的易宝支付相关处理以及支付宝、微信支付相关文档。
支付宝:
https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a.7629065.0.0.eeTXH8&apiId=850&docType=4#
微信支付:
https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/faq_tmpl

activeMQ在项目中如何应用的?

Activemq在项目中主要是完成系统之间通信,并且将系统之间的调用进行解耦。例如在添加、修改商品信息后,需要将商品信息同步到索引库、同步缓存中的数据以及生成静态页面一系列操作。在此场景下就可以使用activemq。一旦后台对商品信息进行修改后,就向activemq发送一条消息,然后通过activemq将消息发送给消息的消费端,消费端接收到消息可以进行相应的业务处理。

activeMQ如果数据提交不成功怎么办?

Activemq有两种通信方式,点到点形式和发布订阅模式。如果是点到点模式的话,如果消息发送不成功此消息默认会保存到activemq服务端知道有消费者将其消费,所以此时消息是不会丢失的。
如果是发布订阅模式的通信方式,默认情况下只通知一次,如果接收不到此消息就没有了。这种场景只适用于对消息送达率要求不高的情况。如果要求消息必须送达不可以丢失的话,需要配置持久订阅。每个订阅端定义一个id,在订阅是向activemq注册。发布消息和接收消息时需要配置发送模式为持久化。此时如果客户端接收不到消息,消息会持久化到服务端,直到客户端正常接收后为止。

当被问到某个模快存在安全性问题(sso单点登录系统)时,如何回答?

目前淘淘商城的sso系统的解决方案中直接把token保存到cookie中,确实存在安全性问题。但是实现简单方便。如果想提高安全性可以使用cas框架实现单点登录。
https://www.apereo.org/projects/cas

业务如何说?先说业务、说表、说具体实现?

先说总体的业务流程,然后再说具体业务的实现方法及使用的技术。最后说你在系统中负责的内容。不需要说表结构。

你做过电商项目,那么你说说sku的几种常用设计方法,你们的sku是怎么设计的?
SKU属性的设计,可以分为两类:
1)通过属性集关联SKU属性
  适合品类较少的网站,管理容易些。
    如麦包包等专卖箱包或者服饰类的网站。一般就是颜色+尺码两种。而且由于品类很少,为了方便管理,可以将SKU属性纳入到属性
集中管理,这样产品关联了属性集后,自然就关联了普通属性、查询属性、SKU属性和评论属性了。
如果该网站产品种类很少,比如只卖服装,那么可以做进一步的简化,即直接将SKU属性从属关联属性集,去掉”属性集关联SKU“。

基于本设计的管理方式:
     按品类创建属性集,如箱包、鞋子、服装、文胸等。然后创建多个SKU属性,即使针对内涵相似的,但是可选项不同的也创建
多个,如尺码,用在箱包和用在服装上是完全不同的。这些分别创建,并关联不同的属性集。
      产品创建时,关联一个属性集,通过属性集关联了1~N个SKU属性,然后选项这些SKU属性的组合,如2个颜色*3个尺码,即6个组合,然后可以根据需要删除不支持的组合,这样最终得出了一个组合列表,点击”生成SKU“,就根据组合数量创建了产品
SKU,每个产品SKU对应一个组合,存储在产品SKU选项值表中。对于某些SKU,可以设置专门的选项配图。

2)产品和SKU属性直接关联

适合品类很多网站,比较灵活,但是维护起来数据量比较大。
      为了简化,我增加SKU属性关联产品分类(可为空,表示是全局的),这样在创建产品时,可以只列出全局的+本产品分类的SKU属性,这样就不会一下子列出很多SKU属性了。SKU属性分为前端名称和后台名称两个,方便不同业务含义的SKU属性,在前端也能够用同一个名称显示,如颜色、容量等。另外在操作上可以做些优化,比如用下拉列表显示可选的SKU属性时,可以同时显示该属性的属性描述,供产品维护人员参考。
基于SKU方式来管理产品时,产品的价格、库存和图片等信息必然是放在产品SKU表中处理的,和订单、购物车等表的关联,也是通过产品SKU表,而不是产品表。至于产品表,实际上是一个总的业务汇总和外部关联表,但实际销售的并不是它。我们网站做的更细些,会就每个产品SKU生成独立的URL(伪静态),但从SEO方面考虑,每个产品SKU拥有独立

单点登录具体实现了什么功能?
1. 去登陆页面
2. 提交登陆页面
3. 用户名、密码、验证码的校验
4. 错误信息的回显
5. 保存用户到Session中
6. 重定向到登陆之前的访问页面
7. Ajax跨域判断用户是否登陆

Redis在其中是怎么用的?起了什么作用?
redis中存储的都是key-value格式的。拿商品数据来说,key就是商品id,value是商品相关信息的json数据。
在商城系统中当并发量比较高,频繁的对数据库进行读操作的时候都需要添加缓存。例如页面中内容数据的缓存、商品数据的缓存以及用户数据的缓存等。
做商品数据的缓存时,因为商品的数据量很大,而且缓存是把数据保存到内存中,此时不可能把所有的商品数据都放到缓存中。所以需要设置商品数据缓存的有效期,当用户访问到非热点数据后,此数据放到缓存中,当缓存到期后就从缓存中删除,而且长时间不会添加到缓存。而热点数据一旦从缓存中删除会马上又添加到缓存。这样可以提高缓存的利用率,同时也减轻了数据库的压力。

插入商品的话,要求级联插入几张表,你们当时是怎么实现的?
通过Redis生成商品编号(ID)
保存商品表
再保存Sku表(此表中外键,是商品表的ID)

Java就业企业面试问题-电商项目相关推荐

  1. 面试专题-电商项目面试篇

    找工作面试的过程中,项目将会是整个流程的核心灵魂,也是能在面试中能让面试官尽快认同你的一个强有力的依据,所以在面试中把电商项目清晰的表述出来是极为关键的. 1.说说你最近做的这个项目的背景,简单的介绍 ...

  2. Java从零打造企业级电商项目实战 项目初始化

    1.项目初始化 1.1 新建maven项目 (1)new project -> maven -> maven-archetype-webapp project name:mmall pro ...

  3. 黑马Java品优购分布式电商项目全套视频及源码

    百度网盘链接 链接:https://pan.baidu.com/share/init?surl=ItIpkDQ0Dwragb47HcLXKg 提取码:k5we 黑马微服务项目乐优商城全套 https: ...

  4. 整套源码Java含Spring/SpringMVC/MyBatis电商项目完整版视频教程

    本资料的都是视频结合项目,一步一步的讲的.看完这个视频,就做完一个项目了. 本视频里面是结合淘宝商城的视频讲解的,视频是的,技术也是的. 看完这个视频也就只需要二十来个小时,特别适合上班族充电用,边学 ...

  5. Java从零到企业级电商项目实战: linux环境配置

    阿里云镜像 https://opsx.alibaba.com/mirror https://blog.csdn.net/jameshadoop/article/details/54881295(修改y ...

  6. 电商项目相关面试问题及答案

    请描述一下这个系统? [回答技巧] 从3个方面来回答这个问题: |–系统背景及系统概述 |–系统包括的业务模块及主业务流程 |–责任模块 [回答示例] 第一个方面:系统背景及系统概述 优购时尚商城是香 ...

  7. java 电商锁库存实现_电商项目扣减库存方案

    阿里巴巴b2b电商算法实战电子商务 85.3元 包邮 (需用券) 去购买 > 各位小宝贝们,大家是不是在面试过程中经常被问到,你电商项目扣减库存时,到底是下单减库存呢?还是付款减库存? 那今天给 ...

  8. 简历里写了电商项目 ,面试的时候怎么回答

    商项目里的技术特点? ①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言:数据库中 MySQL,nosql 是最频繁使用的(当 ...

  9. 如何清晰、高质量的给面试官介绍自己的电商项目

    面试有两点:1.技术过硬.2.能说会道 如果自己的技术还过的去,但是表述的不尽人意,其实是吃了很大亏的,下面我来介绍一个大神的面试过程: 面试官:请介绍一下你的电商项目. 大神:该商城是一个综合性的B ...

最新文章

  1. Linux查看可执行文件的各个段:.BSS,.TEXT,.DATA的大小
  2. Ext Tree异步树的增加修改删除的简单实现~
  3. 线程的调度有抢占式或者非抢占 (转)
  4. 中级职称计算机网络安全论文,中级职称答辩论文的计算机络综合布线系统设计.doc...
  5. nyoj-999 师傅又被妖怪抓走了
  6. C#字数统计(字母、数字、汉字、符号)
  7. python中的位置怎么看_如何知道项目在Python有序字典中的位置
  8. 从工作经历和实践理论看工业互联网的发展
  9. .Net Core 3.0 IdentityServer4 快速入门
  10. OSGI –模块化您的应用程序
  11. Android开发笔记(一百五十四)OpenGL的画笔工具GL10
  12. jmeter插件下载
  13. 「每天一道面试题」谈String和StringBuffer、StringBuilder区别
  14. 更多和最小生成树相关的问题
  15. MySQL 开启慢查询日志
  16. sleuth zipkin mysql_springCloud的使用08-----服务链路追踪(sleuth+zipkin)
  17. 培根密码(Bacon)——python解密
  18. 写书给我带来了什么?
  19. .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
  20. BZOJ 2429: [HAOI2006]聪明的猴子 MST

热门文章

  1. 【实例】使用jquery自带的slideToggle由上到下缓缓加载图片
  2. 阿里云Web应用防火墙-WAF
  3. Python到底是干啥的?
  4. 浅析GIS行业地图绘制基本要求
  5. PS制作钢铁质感文字
  6. JavaScript-Tool:Numeral.js
  7. Java Poi word 插入图片并添加边框
  8. 【Storm】【一】简介
  9. JS——对已有元素内容进行筛选(本地搜索筛选)
  10. 微信小程序游戏开发│智力测试游戏——button版