电商面试问题有用十一vs十一

1.freemarker生成的静态化页面,如果商品的信息更改以后,会不会生成新的静态化化页面,freemarker静态化页面的数据是从哪里调用出来的,如果不是从数据里面掉的数据的,这个地方需要用到同步,和谁同步

答案:

1.如果商品信息更改以后,是需要生成新的静态化页面。(注意:淘淘商城中没有修改商品然后生成新的静态化页面的逻辑,实际中是需要这一部分逻辑的);

2.freemarker模块页面中的数据是在创建静态化页面的时候获取到的,那么这部分数据如果真采取淘淘商城中发mq去从数据库中查询,那也就不用担心这么多数据,从数据库中获取不是性能很慢。这个就不是本问题所涉及的了。如果不发mq也行啊,直接现存的数据为啥不行呢?

3.对于数据库高并发,缓解数据库查询压力,我们从业务设计角度分商品详情页面内容缓存和页面静态化处理两个维度去讲解。静态化页面是在商品新增或者修改的时候产生新的静态化页面。这个问题,是假设了商品数据放到某一个地方存起来,然后从存的地方取出来作为模板中的数据。这个设计我不敢苟同。设计上有漏洞,实现上没有一点优势。通过查看京东

商品的详情页,F12可以看到整个详情页面也是应用了静态化页面,通过nginx去找页面。

******************************************************************************************

2.如果数据库的信息更改以后,那么索引库和缓存库里面的信息是怎么更新的?不可能每次都去访问数据库吧。

a>该问题前提是商品详情页面如果采取的是缓存商品数据这种设计的话,那么当商品信息更改以后,索引和缓

存中数据更新同步逻辑在淘淘商城中设计是采取了发mq异步从数据库中查询的。如果从数据库中根据发mq发来

的商品主键id来查询数据库不是不可以。如果数据库查询很慢,性能很低,那么就设计到优化该逻辑的设计

了。比如:是否可以采取新增商品临时表,发的mq就从临时表中去取;还比如索引和缓存的数据不多,我也可

以直接通过mq把商品内容发过来啊。我甚至,可以不采用发mq直接去同步。

***********************************************************************

3.消息队列MQ,如果消息丢失了怎么办,我怎么能知道消息有没有丢失,遇到这种问题我怎么处理

a>消息丢失可以分为消息生产者丢失和消息消费者丢失;消息丢监控中心看不到消息,且会报异常。

常规做法是开启事务+设置持久化。

对于消费端需要session.commit(),提价事务。另外除了Session.AUTO_ACKNOWLEDGE还有分别如下设置:

c>还可以设计一张路由表,消费者消费成功之后就会修改该表中记录状态

d>通过springmvcHandlerInterceptor拦截器配置,preHandle()方法去检查客户机请求是否携带token,京东就是这样做的。

5.用户购买商品时,什么时候才减少库存。

答:a>提交订单,支付状态由未付款改成支付成功后,才会减少库存。仓库系统

不会根据用户临时行为去减少库存商品数量。这样带来的数据变动太大。而是会根据下单后

商品支付成功状态来减少库存。

7.日志文件的管理。

答:

a>一般大型的电商系统都会将各个子系统的中后台操作进行监控,随时能够查看系统运行状态。那么其后台管

理系统的日志可以设计日志表来专门存储后台操作。这一类日志称之为自定义日志信息;

b>除此之外,还有我们各个服务产生的日志,例如tomcat,solr等日志这些日志也可以分布式日志框架收集。

c>将我们自定的日志信息和系统服务日志信息收集之后,就可以通过日志架构,来搭建日志管理系统了。这些

日志信息可以都存储在日志服务器中。有专门的报表及其报警系统组成。

8.项目中用到了多少台服务器,测试环境和正式环境各有多少台。

答:视项目规模来看。

a>一个门户网站的uv量月统计达到几十万,至少也得部署4台,这样也能够应该理论值1000-2000并发量。另外还得看服务器性能和架构,所以单纯要问有多少台,没有多少意义。真要是说,将项目定位成小型-中型-大型-超大型系统。那么算上其他系统所需要的服务器依次需要4-6台---6-10台—至少20台---数据节点,上千。

b>测试环境主要是供RD和QA使用,一般都会各自分配一台。正式环境就是上面所说的了。

答案:暂时先待定

10.商品修改以后,购物车里面的价格是怎么处理的!!

答:该问题假设的情景是用户添加了一件商品,那么此时商品价格修改了。此时下订单以什么为准?该问题分为下订单前和下订单后。

a>一旦下了订单,那么订单中就有了该商品的金额,及时修改了商品价格,也是按照订单来支付的。

b>如果没有下订单,那么在下订单的时候,是按照最新修改的商品价格来计算该商品金额的。

11.商品修改之后,怎么同步的!!!

答:商品修改之后,需要同步的是什么?

a>如果按照淘淘商城中,新增商品同步到solr索引,同步到redis中。那么就可以在修改商品的时候,add(document),set(item)。淘淘商城中采取的策略是发mq,根据id查询,这种方式去同步的,对于redis就是直接删除,然后新增。

12.在项目中并发是怎么解决的,用到哪些技术,具体是怎么实现的,原理是什么!

答:这里谈到的并发,指的是在同一时刻服务器应该能够同时处理的请求的量。解决并发可以从如下角度去解决:

a>购买高性能服务器和数据库(不能从根本上解决高并发)

b>页面静态化处理

静态化页面效率高消耗最小,避免大量数据库访问量。

c>图片服务器分离(基本网站都采取的策略)

使用独立的图片服务器降低提供页面访问请求的服务器系统压力并且可以保证系统不会因为图片问题而崩溃,在应用服务器

和图片服务器上,可以进行不同的配置优化,

d>集群架构

增加一台服务器分担原有服务器访问和存储压力来改善负载压力。比较成熟的集群架构要保证可伸缩性:如图

e>负载均衡(软件和硬件的负载,一般使用软件负载更多)

可将用户浏览器访问请求分发到应用服务器集群中的任何一台服务器上,如果有更多用户,就在集群中加入更多的服务器,使用应用服务器服务器的负载压力不再成为整个网站的瓶颈。

f>特定业务功能可以考虑使用多线程去处理

g>缓存

减少数据库访问压力

h>读写分离,分库分表

i>代码优化

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保存用户的购物车信息、生成订单号、访问量计数器、任务队列、排行榜等。

THE END
1.帮助中心3,发布口罩需要什么资质吗?答:1. 医用类口罩(Medical Masks)1)商家发布医用类口罩(Medical Masks)时,需在商品发布环节进行商品资质信息的填写或上传。根据目标市场的不同,填写或上传相应的商品资质信息,具体如下:·中国生产的医用口罩必须取得国内II类器械注册号(强制)·销往欧盟市场的医用口罩需取得CE认证(可选)·...https://service.aliexpress.com/page/knowledge?pageId=42&knowledge=1060263729
1.云小店商城源码修复30套模板支持一键对接各大系统2.更新 卡卡云对接商品上下架同步,完善对接时的商品详情,填写商品ID即可获取详情 3.更新 商品价格监控,修复设置监控分类时有二级子分类的分类不显示 4.更新 商城模板下单后查询页面自动弹出订单详情 5.修复 批量设置支付名称无效 6.新增 价格监控显示隐藏同步开关,开启后商品上架时同步为显示,反之同步为隐藏 7.优化...https://blog.csdn.net/swich_case/article/details/125766550
2.劳斯莱斯汽车:WHISPERS用户使用协议请注意,如果您的账户项下尚有任何您应支付但尚未支付的款项或者有任何您已支付但尚未履行完毕的交易(包括通过专享礼宾服务进行的商品或服务交易),您将暂时无法注销您的Rolls-Royce ID (劳斯莱斯 ID),直至该等款项被全部结清或交易已全部履行完毕。 4.WHISPERS服务一般性规定...https://www.rolls-roycemotorcars.com.cn/zh-CN/ownership/whispers-agreement.html
3.APP用户注册协议和隐私保护协议2、向您提供商品或服务 我们所收集和使用的个人信息是为您提供本站服务的必要条件,如缺少相关信息,我们将无法为您提供本站服务的核心内容,例如: (1)您在使用本站服务时、上传和/或发布信息以及进行相关行为(例如发布评论、回复评论、点赞、喜欢文章、分享、收藏)时,我们将收集您上传、发布或形成的信息,并有权展...http://www.bozhou.cn/p/221204.html
4.淘宝开店考试试题及答案7篇(全文)C、敌敌畏 D、饲料级硫酸铜、下列哪一项不是淘宝卖家必须做到的?A A、宝贝页面的描述,应该与商品的实际情况相符 B、遵守淘宝规则,遵守对买家的服务承诺 C、每天都要重新发布商品 D、出售的商品,在合理期间内不存在影向正常使用的质量问题 32、一般违规行为多少分为一个处罚节点?C A、10 分 B、16 分 C、12...https://www.99xueshu.com/w/filexe3jvsro.html
5.浙江高院:“搬家软件”未经授权爬取淘宝商品数据,构成不正当竞争淘宝(中国)软件有限公司、浙江淘宝网络有限公司(以下合称淘宝公司)作为淘宝平台的经营者主张,绍兴衡尚科技有限公司、上海鲸赢网络科技有限公司、胡*斌共同运营的“搬家大师”“上货专家”软件,未经淘宝公司许可,绕开淘宝平台规则及技术措施,非法抓取淘宝平台的商品数据,并以付费方式向其用户提供服务,将淘宝平台的数据搬运...https://county.beijingip.cn/my/websiteArticle/detailArticle.do?id=401fe2c28cd87548018d77fe5b5e0234
6.跟京东规则相关的客服测试题答案:拒绝告知消费者购买人的任何信息,并且让消费者登录购买 ID 的旺旺来咨询。 6、小丽是一家天猫店铺的客服,消费者咨询小丽购买的商品是否可以开发票,小丽发现店铺里本月的发票已经用完了,次月十日才能领取到新发票,小丽应该如何告知消费者? 答案:如实告知消费者,发票已经使用完,下月十号领取到发票会开好免费快递...https://www.mmker.cn/article/6087.html
7.天猫新版无线宝贝描述详情操作视频图文教程(天猫无线端如何发布...默认读取第一张主图,标题读取顺序为搜索短标题和无线短标题,以上信息都为空时商家可自行编辑,最多10个汉字,也可为空。 3.4.2覆盖商品: 覆盖商品页面展示的是该同店推荐模板所已经覆盖的商品。在对应的模板下,可以按商家授权的一级类目或商品ID或商品名称搜索已经添加到该推荐模板下的商品。 https://www.kaitao.cn/article/7870.htm
8.uniapp黑马优购项目学习记录——持续更新?9.3.5 实现商品的全选/反选功能? ?9.3.7 动态计算购物车徽标的数值 9.3.8 渲染购物车为空时的页面结构 9.4 分支的合并与提交 1. 起步 1.1 uni-app 简介 uni-app 是一个使用 Vue.js 开发所有前端应用的框架。开发者编写一套代码,可发布到 iOS、Android、H5...https://blog.51cto.com/u_15476057/5223385
9.带了马赛克我怎么转发?评论中的商品id有什么用?② 打开右上角“仅显示有优惠券的商品”按钮,有优惠券的商品会被自动过滤掉。 ③当找不到商品时,关闭优惠券按钮,就会出现更多返利商品。 促销小贴士 ①尽量选择优惠券高的产品,满足顾客“占便宜”的心理; ② 如果您不知道推荐什么,请查看畅销版块。 销量高的产品都在这里; ...https://www.28368.cn/tuiguang/15767.html
10.天猫淘宝客服试题(精选6篇)12.正品保障:在淘宝商城购物时,若买家认定已购得的商品为假货,则有权在交易成功后 天内按本规则发起针对该商家的投诉,并申请正品保障赔付,赔付的金额以买家实际支付的商品价款的 倍加邮费为限。13.淘宝处理投诉为 个工作日内(不包括双休日和法定节假日);投诉有效期为商品成交后的3天-60天,每次交易只有一次投诉...https://www.360wenmi.com/f/filewe6w3u72.html
11.卧槽!牛皮了,他居然把大厂常问的Redis面试题的答案都写下来了!如果将商品id和商品数量序列化成json字符串,那么也可以用上面讲的string类型存储。下面对比一下这两种数据结构: | 对比项 | string(json) | hash | 总结一下: 当对象的某个属性需要频繁修改时,不适合用string+json,因为它不够灵活,每次修改都需要重新将整个对象序列化并赋值;如果使用hash类型,则可以针对某个属性...https://cloud.tencent.com/developer/article/1828476