昨天,参与北京一家公司面试时,不知道为什么,错了很多题,这些题在该家公司之前已经被问很多次了,当天精神恍惚的没答上来或答错,被问到数据库优化和乐观锁的问题,首先我谈到了存储引擎底层的数据结构

B树/B+树:

B树是红黑树的变种数据结构,红黑树是一种自平衡二叉查找树,有其 左右子树 按序排列的特点,左小右大的特点,红黑树我没有做过深入的研究,只是背住了特点,等过去这段时间好好研究一下

关于B树与B+树请查看园友的详细总结:https://www.cnblogs.com/George1994/p/7008732.html

谈到数据库优化,首先会想到索引,而数据库索引则用到了B树数据结构,因B树数据结构存在关键字,所以在全键名匹配方面,访问速度会非常快,但索引若使用不当也会造成数据库性能的损失。

mysql数据库:

myisam:采用锁表策略,不适用在高并发场景,由于内部采用B树数据结构,所以匹配搜索非常快

innodb:采用行锁策略,适合用在高并发场景,多线程竞争时,只锁定竞争那一行数据

1、面试官提问:在程序代码方面什么情况下会使索引失效?

其实这题我之前已经回答过很多次了,可能面试官提问的逻辑跟之前不太一样,我没有听明白,这题没答上来,其实在写sql时我们需要注意:

在使用innodb存储引擎时OR与索引不可同时存在,否则索引失去效果,会进行全表扫描

具体可以看这篇文章:http://www.cnblogs.com/yuerdongni/p/4255395.html

另外使用 like 也会造成全表扫描

2、面试官提问:在基于你博客中的高并发乐观锁方案上,如果发生网络堵塞导致最终version不一致怎么办?

这道题我一开始回答的是从流量控制方面避免这种事情发生,后来想了想,我当时没能理解他的问题,现在也没怎么理解

实现乐观锁即CAS原理,假设下单减库存场景,先获取版本号,然后走业务逻辑,最终提交时比对一下版本号是否一致,他是不是说的这个时候网络阻塞,如果这个地方没能成功的从数据库取出版本号,只要不设置默认值,应该会抛出连接异常,在上游拦截处理美化之后提醒用户下单失败。

3、面试官提问:抢红包时如果因为用户并发量过大,出现了数据不一致怎么办

这个问题我可能回答的答案他并不满意,在我之前做的几种方案中已经解决了这个问题,如果真的要说百万级,这个流量非常恐怖,我当时提到了使用消息队列来削峰,延时处理,用户操作之后不会立即返回结果,只是告诉用户参与成功,用户可以到个人中心看进度,等消息队列消费之后更改状态,不过看面试官反应应该回答的不是他想要的,这个希望园友帮我出出主意

另外因为学历问题最近几天确实很郁闷,回忆起这家公司的笔试题,我错了两三道,还都是我之前答过的,也有一些的确我没有关注到的知识点,加油吧,希望这个城市能给我一些机会。

反省在北京某S2B2C电商小型公司面试时掉链子的问题的更多相关文章

  1. 电商系统中SPU、SKU的区别

    SPU = Standard Product Unit(标准产品单位) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.SPU多见于后台商品的管理. ...

  2. 基于K-means Clustering聚类算法对电商商户进行级别划分(含Octave仿真)

    在从事电商做频道运营时,每到关键时间节点,大促前,季度末等等,我们要做的一件事情就是品牌池打分,更新所有店铺的等级.例如,所以的商户分入SKA,KA,普通店铺,新店铺这4个级别,对于不同级别的商户,会 ...

  3. 【系统设计】不同分类的商品动态添加扩展属性的方法(WMS、小型电商)

    在做公司WMS系统的时候,遇到了一个商品模块的设计问题,具体业务流程如下. 客户提供需要存放的商品清单,根据商品清单生成收货单给客户,然后生成入库单进行商品入库操作. 在生成这两个单之前首先要录入商品 ...

  4. 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文

    阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...

  5. 电商平台如何接入快递鸟电子面单API?

    快递鸟是全球物流接口服务商,为电商 ERP.电商平台.仓储.清关公司提供物流跟踪.电子面单.智选物流.物流金融.在线下单等服务,解决电商的物流管理模块和金融模块.现就对快递鸟电子面单API做基本描述, ...

  6. java亿级流量电商详情页系统的大型高并发与高可用缓存架构实战视频教程

    亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 完整高清含源码,需要课程的联系QQ:2608609000 1[免费观看]课程介绍以及高并发高可用复杂系统中的缓存架构有哪些东西2[免费观看]基于 ...

  7. 【Tableau】电商广告投放的地域分析

    分析师的职责是利用处理数据获取信息,提炼规律,帮助企业正确决策业务方向. 所以,一个好的分析师绝不能被数据所困,既要深入业务,理解业务,也要高瞻远瞩,以领导者的思维借助数据分析的辅助做出判断. [结构 ...

  8. Amazon电商数据分析——数据获取

    最近一段时间主要重心在Amazon电商数据分析上,这是一个偏数据分析和可视化的项目.具体来说就是先获取Amazon的商品数据,数据清洗和持久化存储后作为我们自己的数据源.分析模块和可视化模块基于数据进 ...

  9. SAP CX Upscale Commerce : SAP全新推出的电商云平台

    大家好,我是Andy Chen,是SAP成都研究院年轻的SAP CX Upscale Commerce (后面将会以Upscale简称)开发团队的一名产品经理.CX的全称是Customer Exper ...

随机推荐

  1. 对称加密——对入参进行DES加密处理

    体验更优排版请移步原文:http://blog.kwin.wang/programming/symmetric-encryption-des-js-java.html 对称加密是最快速.最简单的一种加 ...

  2. Hibernate中Session.save()方法的返回值是什么

    public   Serializable   save(Object   object)     Parameters:     object   -   a   transient   insta ...

  3. [iOS]隐藏导航栏把右滑退出操作保留

    项目因为用到上面导航栏样式多变,就隐藏了导航栏自己用View代替了,但手势却不见了,后来发现问题解决.操作如下: 千万不要取消 Shows Navigation Bar 这个选项否则手势会消失 应该是 ...

  4. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

  5. word2012写论文之参考文献和图片

    每次写论文都感到word的“博大精深”啊,一个版本一个样,一些原来版本还有的功能,后来的版本就没有了,一些原来版本叫这个名字的功能,下一个版本就换了个名字,你也太考验你用户的智商和耐心了吧!即使同一份 ...

  6. VUE+WebPack实现精美Html5游戏设计:纸牌战争

  7. SqlServer——字符串处理函数

    1) ASCII Format:ASCII ( character_expression ) Function:返回表达式最左端字符的ASCII值. eg: select ASCII('abcdef' ...

  8. Sqlserver2008 FileStream解决图片存储问题

    SQLserver FileStream的出现就是为了解决对大对象的存储中一个矛盾. 对于图片的存储方式 第一种:方式是存储在数据库里面,这种方式一般使用image字段,或者varbinary(max ...

  9. ssh 连接缓慢解决方法

    ssh 连接缓慢解决方法 摘自:https://blog.csdn.net/qq_14821541/article/details/61915589 2017年03月13日 12:00:38 所以怎样 ...

  10. 我的ubuntu14.04配置

    完全卸载java(移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ)) 转载修改, 原文见:http://blog.csdn.net/s ...