京东数科Java一面面经

1.哪些情况不要创建索引

哪些情况不要创建索引

1)表记录太少

300万数据时MySQL性能就开始下降了,这时就可以开始开始优化了

2)经常增删改的表

提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。

因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件

3)where条件里用不到的字段不创建索引

2.最左匹配原则

过滤条件要使用索引必须按照索引建立时的顺序,依次满足,一旦跳过某个字段,索引后面的字段都无法被使用。同时遇到范围查询(>、<、between、like)就会停止匹配。

3.包含 order by 和 group by 的sql语句,应该怎么使用索引

order by

无过滤 不索引
顺序错,必排序
方向反 必排序

ORDER BY子句,尽量使用Index方式排序,避免使用FileSort方式排序

group by

group by 先排序再分组,遵照索引建的最佳左前缀法则

当无法使用索引列,增大max_length_for_sort_data和sort_buffer_size参数的设置

where高于having,能写在where限定的条件就不要写在having中了

group by没有过滤条件,也可以用上索引。Order By 必须有过滤条件才能使用上索引。

4.场景题:where name=“张三” order by age;应该怎样建立索引

index(name,age)

5.where name=“张三” or class=1 order by age;:结合索引应该怎么优

index(name,class,age)

6.数据库事务特性,分别是什么意思

ACID

原子性(atomicity)

原子性是指事务是一个不可分割的工作单位,要么全部提交,要么全部失败回滚。

一致性(consistency)

根据定义,一致性是指事务执行前后,数据从一个 合法性状态 变换到另外一个 合法性状态 。这种状态是 语义上 的而不是语法上的,跟具体的业务有关。

隔离型(isolation)

事务的隔离性是指一个事务的执行 不能被其他事务干扰 ,即一个事务内部的操作及使用的数据对 并发 的其他事务是隔离的,并发执行的各个事务之间不能互相干扰

持久性(durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的 ,接下来的其他操作和数据库故障不应该对其有任何影响。

持久性是通过 事务日志 来保证的。日志包括了 重做日志 和 回滚日志 。

7.隔离级别,RR和RC的区别

读未提交之脏读

对于两个事务 Session A、Session B,**Session A 读取 了已经被 Session B 更新 但还 没有被提交 的字段。**之后若 Session B 回滚 ,Session A 读取 的内容就是 临时且无效的

读已提交之不可重复读

在事务2中commit,事务1没有commit读到了事务2提交的数据(不可重复读)

可重复读

不可重复读和脏读都没有问题

可重复读出现幻读的现象

8.对于时间复杂度是怎么理解和怎么计算

时间复杂度为一个算法流程中,常数操作数量的一个指标。常用0(读作big 0)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。

在表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果为f(N),那么时间复杂度为0(f(N))。

评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。

9.快排说一下,复杂度怎么计算的,快排的底层思想是啥?

最好时间复杂度为O(logN),最坏时间复杂度O(n^2)

用Mater公式计算

如果打的比较正的话在中间的位置,那么就是2*T(N/2)+(N) (d为额外的时间复杂度)

可以看出是第三个

如果打偏一直在最后一个位置,那么就是O(n^2)

快速排序的思想是基于分治算法。

分解:分解原问题为结构相同的子问题(即寻找子问题)
解决:当分解到容易求解的边界后,进行递归求解
合并:将子问题的解合并成原问题的解

10.TCP”三握四挥“的过程

TCP 是一个双工协议,为了让双方都保证,建立连接的时候,连接双方都需要向对方发送 SYC(同步请求)和 ACK(响应)。

握手阶段双方都没有烦琐的工作,因此一方向另一方发起同步(SYN)之后,另一方可以将自己的 ACK 和 SYN 打包作为一条消息回复,因此是 3 次握手——需要 3 次数据传输。

到了挥手阶段,双方都可能有未完成的工作。收到挥手请求的一方,必须马上响应(ACK),表示接收到了挥手请求。类比现实世界中,你收到一个 Offer,出于礼貌你先回复考虑一下,然后思考一段时间再回复 HR 最后的结果。最后等所有工作结束,再发送请求中断连接(FIN),因此是 4 次挥手。

11.ThreadLocal讲一下,实现原理,使用的时候有什么需要注意的

ThreadLocal的实现原理是每一个Thread维护一个ThreadLocalMap映射表,映射表的key是ThreadLocal实例,并且使用的是ThreadLocal的弱引用 ,value是具体需要存储的Object。下面用一张图展示这些对象之间的引用关系,实心箭头表示强引用,空心箭头表示弱引用。

注意:内存泄漏

弱引用,只要发生gc就会回收,但是会出现一个问题

1. ThreadLocalMap中就会出现key为null的Entry,就没有办法访问这些key为null的Entry的value,如果当前线程再迟迟不结束的话,这些key为null的Entry的value就会一直存在一条强引用链:Thread Ref -> Thread -> ThreaLocalMap -> Entry -> value永远无法回收,造成内存泄漏。

2.当然,如果当前thread运行结束,threadLocal,threadLocalMap,Entry没有引用链可达,在垃圾回收的时候都会被系统进行回收。

3 但在实际使用中 我们有时候会用线程池 去维护我们的线程,比如在Executors.newFixedThreadPool()时创建线程的时候,为了复用线程是不会结束的,所以threadLocal内存泄漏就值得我们小心

set、get、remove方法会去检查所有键为null的Entry对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62507.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

联通数科面试准备

Spring中Bean的生命周期 Spring Bean的生命周期全过程分为5个阶段&#xff0c;创建前准备阶段、创建实例阶段、依赖注入阶段和容器缓存阶段以及销毁实例阶段。 阶段1&#xff1a;创建前准备阶段这个阶段主要是在开始Bean加载之前&#xff0c;从Spring上下文中去获取相关的配置…

360数科华丽财报下的增长困局

配图来自Canva 8月24日&#xff0c;360数科发布了2020年第二季度财报&#xff0c;这也是自8月7日360金融升级为360数科之后的第一份财报。 财报数据显示&#xff0c;360数科本季度财报营收、利润均实现了大幅度上涨&#xff0c;综合科技服务收入增长尤其明显&#xff0c;成为…

京东数科统一接入网关JDDLB性能优化之QAT加速卡

京东数科JDDLB作为京东数科最重要的公网流量入口&#xff0c;承接了很多重要业务的公网流量。目前&#xff0c;已成功接替商业设备F5所承载的流量&#xff0c;并在数次618、双十一大促中体现出优越的功能、性能优势。 本文作为京东数科七层负载 | HTTPS硬件加速 (Freescale加速…

ITest:京东数科接口自动化测试实践

导读&#xff1a;你是否为每天“点点点”的工作而感到索然无味&#xff1f;你是否苦于没有合适的工具而对复杂的测试任务望而却步&#xff1f;频繁变动的接口&#xff0c;重复的功能测试&#xff0c;你&#xff0c;疲惫么&#xff1f;京东数科平台开发团队基于日常接口测试经验…

Thinkphp5 使用Paypal 支付

1&#xff0c;首先前往官网https://www.paypal.com 创建一个账户&#xff0c;我创建的是一个企业账户 2&#xff0c;前往paypal开发者平台https://developer.paypal.com/ 进行创建应用&#xff08;使用谷歌自带的翻译&#xff0c;把网页翻译过来....&#xff09; 3&#xff0c…

OpenCart中PayPal Payments Standard(Paypal 标准支付方式)设置

当你安装Install (Paypal 标准支付方式)PayPal Payments Standard这个支付方式后&#xff0c;编辑Edit它&#xff0c;需要填写许多参数。 本教程<< OpenCart中PayPal Payments Standard(Paypal 标准支付方式)设置 >>由 OpenCart中国网站 制作&#xff0c;转…

paypal国际支付的对接,使用tp5开发paypal

前言 paypal是一种国际支付&#xff0c;并且是一个免费的产品&#xff0c;用户支付并不需要扣除用户消费的手续费&#xff0c;只在商家端扣除的&#xff0c;是一个不错的国际支付 2.下载 直接到github下载php-sdk包&#xff0c;我下载完直接在extend中使用 使用 <?p…

Stripe国际支付平台接入

Stripe 是一家科技公司&#xff0c;致力于为互联网经济打造基础设施。所有公司&#xff0c;无论规模大小&#xff0c;从初创公司到上市企业&#xff0c;都可以用我们的软件来收款和管理他们的线上业务。 引用stripe 公司介绍的一段话&#xff1a;“我们的使命是&#xff1a;增…

TP5集成PayPal支付

项目需要使用到PayPal支付,在网上找了一圈大多写的太过简陋不易看懂,在这里详细记录集成过程方便后期使用. 第一步:下载PayPal-PHP-SDK集成到项目中 最新SDK下载地址: https://github.com/paypal/PayPal-PHP-SDK/releases 官方英文文档:点击打开链接 下载sdk解压,我们需要使用…

Android PayPal支付

最近集成完PayPal支付&#xff0c;记录一下集成注意事项。 一、PayPal版本选择 由于官方不再支持旧版的"PayPal-Android-SDK"&#xff0c;所以决定直接集成"Native Checkout SDK"。 二、集成环境 我是在Macos上开发&#xff0c;之前一直用的Android St…

如何在网站集成Payssion的国外支付方式?

如果你的用户来自海外&#xff0c;那你可能已经接入paypal ,信用卡&#xff0c;西联来收款。 今天我们再介绍另一种收款方式&#xff0c;既能极大的提高你网站的转化率&#xff0c;且在很多国家使用率高于paypal和信用卡。 这就是海外本地支付方式&#xff08;如中国的本地支…

仿牌独立站如何通过PayPal.Me亲友付进行收款

14 5月 先来看一段PP官方对于paypal me的介绍: PayPal.Me是什么 PayPal.Me是一种与您的企业账户相联的个性化链接。您仅需为自己或您的企业创建独特的自定义链接&#xff0c;分享出去即可轻松收款。这意味着&#xff0c;您无需再进行繁琐的银行转账&#xff0c;可轻松享受Pa…

stripe国际支付(对接支付宝、微信)

前言&#xff1a;stripe国际支付现在网上资料很少&#xff0c;且不支持中国&#xff0c;所以如果要用需要去支持的国家注册商户&#xff0c;官网的java demo是用的spark框架&#xff0c;我这里用的spring&#xff0c;验签需要手动验签&#xff0c;且不能用官网的方法 正文&…

再度盈利,搜狐稳了?

2016年在宣布要用3年时间回归互联网舞台中心之后&#xff0c;很长一段时间内张朝阳积极活跃在各种社交媒体上&#xff0c;完全是一派“积极出山”的姿态。而后畅游从美股退市&#xff0c;搜狗“卖身”腾讯&#xff0c;一系列的收缩动作又似乎是在逐渐远离喧嚣。 而在最近三年&a…

宝宝入托,爸妈要避开这5种心态

孩子入托&#xff0c;父母也要做好心理准备&#xff0c;尤其需要避免以下5种常见的、不良心理状态&#xff0c;否则会加重孩子入托的困难度。 01.“生离死别式”的入托状态 即每次送孩子入园&#xff0c;就像一场生离死别。宝宝屋里哭&#xff0c;家长屋外哭&#xff0c;最后多…

小孩从小就学习编程,真的有必要吗?

现今&#xff0c;许多面向儿童的计算机教程和编程语言十分风行&#xff0c;那么是否人人都应该从小学计算机呢&#xff1f; 美国前总统奥巴马曾表示&#xff0c;应该“向每个学生提供动手式的计算机科学和数学课程&#xff0c;从一开始就让他们为将来的工作做好准备。”不久&am…

你喜欢读书,还是听书?

前段时间在我的星球里做了一个小调研&#xff0c;我看一些知识付费的课程素材&#xff0c;我发现我的阅读速度&#xff0c;是播放语音效率的5倍以上&#xff0c;十几分钟的语音课程&#xff0c;我看文字可能两分钟就看完了。但我知道&#xff0c;很多人还是更喜欢聆听。 实际上…

小孩厌学,与其说教,不如和他写个游戏

表弟又闹着不去幼儿园了,我得想个办法让他体会到学习的快乐和意义…… 带娃真难 玩了一个周末,玩舒服了,周一起床后,一听要去学校,就不干了,死活不去,对我们各种撒(威)泼(逼)打(利)滚(诱),实在招架不住,只能妥协了,虽然我可以扛起他,塞进校车里,但受过良好…

20本父母必读的亲子教育书籍

作者注&#xff1a;有位好朋友成为母亲没多久&#xff0c;向我提出一个要求&#xff0c;说不知道怎么教孩子&#xff0c;看我是否能帮助推荐一些这方面的书籍。经过一段时间的搜索和整理&#xff0c;给她整理出一套书单&#xff0c;朋友看了后&#xff0c;说受益匪浅。现在她的…

读懂婴幼儿心理学,不要随便责怪孩子

读懂婴幼儿心理学&#xff0c;不要随便责怪孩子 一、不知道孩子在0-6岁时存在各种敏感期&#xff0c;把孩子在敏感期的表现当成不乖的行为斥责孩子&#xff0c;违背了孩子的天性&#xff0c;造成他的痛苦&#xff0c;留下心理隐患。 孩子在0-6岁时存在各种各样的敏感期&a…