首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux运维工程师面试题(6)

过⼀样;持久性:事务完成后,该事务所有的操作都将持久化在数据库中,不会被回滚;⼀致性:事务开始之前和事务结束之后,数据库的完整性约束并没有被破坏;隔离性:确保同⼀时间类只有⼀个事务处理某个数据。...sql 注⼊产⽣原因:因为程序开发过程中没有对 sql 语句进行检查或未进行关键字检查,导致客户端可以提交 sql 语句到服务器运行。如何防止:对 sql 与进行检查,过滤。...csrf 成为跨站伪造请求,利用用户信任过的⽹站去⾏⼀些恶意的操作如何防范:检查 Referer 字段,严格要求该字段只来自于信任的URL;添加校验 token,将 token 值附加在表单中,攻击者是无法获取这个字...9 MySQL 有多少种日志错误日志:error log,记录出错信息,也记录一些警告信息或者正确的信息;通用日志:general log,记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行;...当 cpu 飙升到 500%时,先用操作系统命令 top 命令观察是不是 mysqld 占用导致的,如果不是,找出占用高的进程,并进行相关处理

24030

肝了一夜的66道并发多线程面试题,你不来个666吗?

49 如何检测死锁?怎么预防死锁? 概念:是指两个或两个以上的进程过程中,因争夺资源⽽造成的⼀种互相等待的现象,若⽆外⼒作⽤,它们都将⽆法推进下去。...每次加锁之前都会做如下检测 检测当前正在请求的锁是否已经被其它线程持有,如果有,则把那些线程找出来 遍历第⼀步中返回的线程,检查自⼰持有的锁是否正被其中任何⼀个线程请求,如果第⼆步返回真,表示出现了死锁...数据库死锁机制和解决⽅案: 死锁:死锁是指两个或者两个以上的事务过程中,因争夺锁资源⽽造成的⼀种互相等待的现象。...它把T1,T3分别安排在服务器程序的启动和结束的时间段或者⼀些空闲的时间段,这样服务器程序处理客户请求时,不会有T1,T3的开销了。...⽤jprofiler等⼯具找出性能瓶颈,减少额外的开销。 优化数据库查询语句,减少直接使⽤hibernate等⼯具的直接⽣成语句(仅耗时较⻓的查询做优化)。 优化数据库结构,多做索引,提⾼查询效率。

89710
您找到你想要的搜索结果了吗?
是的
没有找到

如何保证分布式情况下的幂等性

接⼝幂等性就是⽤户对于同⼀操作发起的⼀次请求或者多次请求的结果是⼀致的,不会因为多次点击⽽ 产⽣了副作⽤。 什么是接口的幂等性 HTTP/1.1中,对幂等性进行了定义。...A: 查询操作 查询对于结果是不会有改变的,查询⼀次和查询多次,在数据不变的情况下,查询结果是⼀样的。 select是天然的幂等操作 B: 删除操作 删除⼀次和多次删除都是把数据删除。...,如下例⼦: 把表中id为XXX的记录的A字段值设置为1,这种操作不管多少次都是幂等的 把表中id为XXX的记录的A字段值增加1,这种操作就不是幂等的 D: 新增操作 增加在重复提交的场景下会出现幂等性问题...,如以上的⽀付问题 如何实现幂等性 其实实现幂等性的方案有不少,但是呢,这就得需要你根据不同的业务场景去选择合适的方式了。...然后调⽤业务接⼝请求时,把token携带过去,⼀般放在请求头部。 服务器判断token是否存在redis中,存在表示第⼀次请求,这时把redis中的token删除,继续⾏业务。

24230

金三银四跳槽季,上周刚面试回来后的面试总结

你们数据库是否⽀持emoji表情,如果不⽀持,如何操作? 你们的数据库单表数据量是多少?⼀般多⼤的时候开始出现查询性能急 剧下降? 查询死掉了,想要找出⾏的查询进程⽤什么命令?...找出来之后⼀般你 会⼲嘛? 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有 什么关系? 14. 分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正 确的?...如何⾃定义⼀个类加载器?你使⽤过哪些或者你什么场景下需要⼀个⾃ 定义的类加载器吗? 堆内存设置的参数是什么? 5. Perm Space中保存什么数据? 会引起OutOfMemory吗? 6....你是怎么来处理这个问题的?处理 过程中有哪些收获? 1.8之后Perm Space有哪些变动? MetaSpace⼤⼩默认是⽆限的么? 还是 你们会通过什么⽅式来指定⼤⼩? Jstack是⼲什么的?...如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少? 多线程 1) 什么是线程? 2) 线程和进程有什么区别? 3) 如何在Java中实现线程? 4) 用Runnable还是Thread?

1K20

金三银四跳槽季,上周刚面试回来后的面试总结,想进BAT必看

你们数据库是否⽀持emoji表情,如果不⽀持,如何操作? 11. 你们的数据库单表数据量是多少?⼀般多⼤的时候开始出现查询性能急 剧下降? 12. 查询死掉了,想要找出⾏的查询进程⽤什么命令?...找出来之后⼀般你 会⼲嘛? 13. 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有 什么关系? 14. 分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正 确的? 15....如何⾃定义⼀个类加载器?你使⽤过哪些或者你什么场景下需要⼀个⾃ 定义的类加载器吗? 4. 堆内存设置的参数是什么? 5. Perm Space中保存什么数据? 会引起OutOfMemory吗?...你是怎么来处理这个问题的?处理 过程中有哪些收获? 8. 1.8之后Perm Space有哪些变动? MetaSpace⼤⼩默认是⽆限的么? 还是 你们会通过什么⽅式来指定⼤⼩? 9....如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少? 多线程 1) 什么是线程? 2) 线程和进程有什么区别? 3) 如何在Java中实现线程? 4) 用Runnable还是Thread?

1.4K70

性能测试必备监控技能MySQL篇15

笔者的日常性能测试过程中,重点关注了这些参数,但不代表仅仅只有这些参数对性能有影响。 还需要大家实践过程中,结合实际情况来调整相关参数,分析相关指标。达成深入优化的效果。...如果该线程程被其他线程锁住了,那么kill请求会在锁释放时马上生效。 Locked  被其他查询锁住了。 Sending data  正在处理SELECT查询的记录,同时正在把结果发送给客户端。...例如,ALTER TABLE或LOCK TABLE语句行完以前,数据表无法被其他线程打开。正尝试打开一个表。...Searching rows for update  正在讲符合条件的记录找出来以备更新。它必须在UPDATE要修改相关的记录之前就完成了。 Sleeping  正在等待客户端发送新请求....waiting for handler insert  INSERT DELAYED已经处理完了所有待处理的插入操作,正在等待新的请求

1.2K120

上帝视角Hbase二级索引方案全解析

Coprocessor 讲解如何构建二级索引前,我们有必要简单介绍一下Coprocessor这个核心特性。...下面是以RegionObserver为例子讲解Observer这种协处理器的原理: 客户端发起get请求请求被分派给合适的RegionServer和Region coprocessorHost拦截该请求...,然后该表上登记的每个RegionObserer上调用preGet() 如果没有被preGet拦截,该请求继续送到Region,然后进行处理 Region产生的结果再次被coprocessorHost...协处理器执行一段Server端代码,并将Server端代码的结果返回给客户端进一步处理,最常见的用法就是进行聚集操作; 如果没有协处理器,当用户需要找出一张表中的最大数据,即max 聚合操作,就必须进行全表扫描...下面是CDH search的核心组件交互图, 体现了单次client端查询过程中, 核心的zookeeper和solr等的交互流程: 例如, Hbase结合Solr的场景: 基于Solr的HBase

1.2K20

微服务架构之「 调用链监控 」

当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理处理完成后再返回结果给用户。...调用链监控系统中,有几个核心概念需要了解: Trace: Trace是指一次请求调用的链路过程,trace id 是指这次请求调用的ID。...一次请求中,会在网络的最开始生成一个全局唯一的用于标识此次请求的trace id,这个trace id在这次请求调用过程中无论经过多少个节点都会保持不变,并且随着每一层的调用不停的传递。...好了,了解了核心概念之后,我们再来看一下它具体是如何工作的,下面选取Twitter开源的Zipkin原理图作为参考: ?...Event报表: 主要是监控一行代码/一个事件运行次数,如:程序中某个事件运行了多少次、错误了多少次等。Event报表的整体结构与Transaction报表几乎一样,只缺少响应时间的统计。

98910

使用MiniProfiler调试ASP.NET MVC网站性能

任何执行的Step都会包括当时查询的次数和所花费的时间。为了检测常见的错误,如N+1反模式,profiler将检测仅有参数值存在差 异的多个查询。...如果你使用.NET开发应用,一定要使用上这个工具。 包括以下核心组件: MiniProfiler MiniProfiler.EntityFramework 如何安装?...MiniProfiler、MiniProfiler.EF、MiniProfiler.MVC3,同时会自动安装依赖组件:WebActivator, 同时也会自动项目里面添加代码文件:MiniProfiler.cs...页面上如果有ajax请求,也会同时显示到左上角。如果左上角显示红色提示,则表示可能存在性能问题需要处理: ? 点开SQL部分,可以看到详细的SQL语句 ?...标记为duplicate的部分,代表一次请求当中,重复执行了查询,可以优化。 问题: 1、结合使用EF 4.3的时候发生如下错误: Invalid object name 'dbo.

3.7K100

大话性能测试系列(1)- 性能测试的基本概念

大数据量测试 简单理解:一个接口返回的数据比较多(假设:不使用分页,把所有数据同时返回) 结论 返回大数据量的接口的响应时间会变长 这么大的数据量,我们需要考虑:网络传输数据、服务器查询这些数据、服务器处理这些数据等等分别需要多少时间...性能测试过程中发现一些问题,假设定位到某一段代码有问题,可以截图提交 Bug 给开发,但这并不是我们性能测试的最终目的,最终目的是找出性能指标 有哪些性能指标?...TPS 处理能力是多少,这也是一个指标 后续详细介绍 性能测试中发现的 Bug 性能测试过程中发现的 Bug 属于一个衍生品,并不是最终得到的结果 但像功能测试,最终目的就是为了找出 Bug 关于这个问题的总结...狭义理解 通过工具,找出或获得系统不同工况下的性能指标值 性能测试过程中,重点是找出性能指标,而不再是找出 Bug, 性能测试的产出绝对不只是 Bug 场景类比 跑步100米,用时多少?...,偶尔又失败,则是服务异常,出现不稳定的情况 如何取压力值 负载测试中,我们确认了系统所能承受的最大负载量 压力值 < 最大负载量,一般取80%左右 灵魂拷问 负载测试一般时间比较短,压力测试时间比较长

87940

大数据面试:面试官要求我了解过Presto——Presto到底是个什么东西

数据规模可以支持GB到PB级,主要应用于处理秒级查询的场景。Presto 的设计和编写完全是为了解决像 Facebook 这样规模的商业数据仓库的交互式分析和处理速度的问题。...1.3 Presto架构 在谈presto架构之前,先回顾下hive的架构 hive:client将查询请求发送到hive server,它会和metastor交互,获取表的元信息,如表的位置结构等...,之后hive server会进行语法解析,解析成语法树,变成查询计划,进行优化后,将查询计划交给执行引擎,默认是MR,然后翻译成MR presto:presto是它内部做hive类似的逻辑 接下来,...深入看下presto的内部架构 这里面三个服务: Coordinator,是一个中心的查询角色,它主要的一个作用是接受查询请求,将他们转换成各种各样的任务,将任务拆解后分发到多个worker去执行各种任务的节点...worker都把自己注册到Discovery Server上,Discovery Server是一个发现服务的service,Discovery Server发现服务之后,coordinator便知道我的集群中有多少

51620

大数据面试:面试官要求我了解过Presto——Presto到底是个什么东西

数据规模可以支持GB到PB级,主要应用于处理秒级查询的场景。Presto 的设计和编写完全是为了解决像 Facebook 这样规模的商业数据仓库的交互式分析和处理速度的问题。...一条 Presto 查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。 Presto 主要用来处理 响应时间小于 1 秒到几分钟的场景 。...hive:client将查询请求发送到hive server,它会和metastor交互,获取表的元信息,如表的位置结构等,之后hive server会进行语法解析,解析成语法树,变成查询计划,进行优化后...这里面三个服务: Coordinator,是一个中心的查询角色,它主要的一个作用是接受查询请求,将他们转换成各种各样的任务,将任务拆解后分发到多个worker去执行各种任务的节点 1、解析SQL语句...worker都把自己注册到Discovery Server上,Discovery Server是一个发现服务的service,Discovery Server发现服务之后,coordinator便知道我的集群中有多少

1K30

十面阿里,屌丝逆袭阿里之路

你们数据库是否支持emoji表情,如果不支持,如何操作? 你们的数据库单表数据量是多少?一般多大的时候开始出现查询性能急剧下降? 查询死掉了,想要找出行的查询进程用什么命令?...找出来之后一般你会干嘛? 读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系? 分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正确的?...如何自定义一个类加载器?你使用过哪些或者你什么场景下需要一个自定义的类加载器吗? 堆内存设置的参数是什么? Perm Space中保存什么数据? 会引起OutOfMemory吗?...处理过程中有哪些收获? 1.8之后Perm Space有哪些变动? MetaSpace大小默认是无限的么? 还是你们会通过什么方式来指定大小? Jstack是干什么的? Jstat呢?...如何指定一个线程的堆栈大小?一般你们写多少

74630

十面阿里,菜鸟,天猫,蚂蚁金服题目总汇

9.你们数据库是否支持emoji表情,如果不支持,如何操作? 10.你们的数据库单表数据量是多少?一般多大的时候开始出现查询性能急剧下降? 11查询死掉了,想要找出行的查询进程用什么命令?...找出来之后一般你会干嘛? 12.读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系? 13.分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正确的?...3.如何自定义一个类加载器?你使用过哪些或者你什么场景下需要一个自定义的类加载器吗? 堆内存设置的参数是什么? 4.Perm Space中保存什么数据? 会引起OutOfMemory吗?...如何指定一个线程的堆栈大小?一般你们写多少? 把元素分成两部分,对每一个部分采用递归的归并排序。 比较已经排好序的元素。 合并已经排好序的元素。 排序完毕。...你们线上系统load一般多少?如果一个4核机器,你认为多少load是比较正常的?top命令里面按一下1会发生什么?

73920

性能测试的指标和工具

一.测试说明 测试的目的在于知道机器最大可以抗压多少流量,并找出薄弱环节进行优化。 测试后要进行容量规划,目的在于让每一个业务系统能够清晰地知道:什么时候应该加机器、什么时候应该减机器。...这样对整个链路进行测试,观察中,要对每个环节都进行观察,找出薄弱和反应慢的节点。 为何要进行全链路测试?因为单台测试再好,一个业务的链路上,有一个下游系统出现了问题,响应时间变得很长。...如何测试全链路: 全完模拟用户对网站或者app发起请求,登陆–选购–购买。对于模拟请求的方式,需要考虑脏数据的处理方式。...三.压力测试指标 TPS:每秒钟完成的web请求响应数量 并发数:时间段内,系统同时处理的web请求响应数量 响应时间:所有web请求处理完毕的时间 页面状态:返回状态码是否都是正常200 数据传输量:...对于压测过程也需要时刻关注db的性能,慢查询是否变多。 测试后需要对整体进行分析,查看哪个页面或者业务访问量最大,还有数据库负载慢查询等等。

1.5K20

【非广告,纯干货】10年IT老兵拿下阿里p7技术专家后的万字面经分享!

> ⿊),旋转,左旋转,右旋转 问题:volatile关键字底层原理,volatile关键字是否可以禁⽌指令重排以及如何底层如何实现的指令重排 (1) 这⾥贴下⽯杉⽼师讲volatile关键字底层原理画的图...(3) 重新标记:并发标记过程中⽤户线程继续运⾏,导致垃圾回收过程中部分对象的状态发⽣变化, 为了确保这部分对象的状态正确性,需要对其重新标记并暂停⼯作线程。...CPU资源,导致你这个服务的线程始终⽆法得到CPU资源去⾏, 也就⽆法响应接⼝调⽤的请求。...阶段⼀:提交事务请求 (1) 事务询问 (2) ⾏事务。 (3) 各参与者向协调者反馈事务询问的响应。...阶段⼆:PreCommit ⾏事务预提交 1、发送预提交请求 2、事务预提交 3、各参与者向协调者反馈事务⾏的响应。 中断事务 1、发送中断请求

98530

MySQL使用技巧: 如何查看mysql正在执行的SQL语句

,通过里面输出结果的字段解释中可以分析执行了的sql语句类型,但发现不太适合一般的初级使用者,而通过日志文件查看sql语句是最直接的方法。...如果该线程程被其他线程锁住了,那么kill请求会在锁释放时马上生效。   Locked   被其他查询锁住了。   ...Sending data   正在处理SELECT查询的记录,同时正在把结果发送给客户端。   Sorting for group   正在为GROUP BY做排序。   ...例如,ALTER TABLE或LOCK TABLE语句行完以前,数据表无法被其他线程打开。正尝试打开一个表。   ...waiting for handler insert   INSERT DELAYED已经处理完了所有待处理的插入操作,正在等待新的请求

5.5K20

分布式 | dble 运维命令知多少

,主要处理前端请求的解析,sql 解析路由,下发查询到 mysql 实例等 bootstrap.cnf 配置⽂件的 ProcessorExecutor 参数控制其数量 backendBusinessExecutorX...后端业务(数据库)处理线程,主要处理后端 mysql 查询结果的返回解析,结果聚合,并发回结果到 client bootstrap.cnf 配置⽂件的 backendProcessorExecutor...参数控制其数量 _NIO_REACTOR_FRONT_X 负责前端(应⽤客户端)请求收发的线程,再把数据交给 BussinessExecutor 处理 bootstrap.cnf 配置⽂件的 processors...参数控制其数量 $_NIO_REACTOR_BACKEND_X 负责后端(数据库)请求收发的线程,再把数据交给 backendBusinessExecutor 处理 bootstrap.cnf 配置⽂...check full @@metadata 检查表定义是否⼀致,该操作不是实时的⼀致性检查,是最近⼀次加载配置时的⼀致性,⾏命令时不会向后端实例发送请求

56760

核心18问 | 万亿级数据库MongoDB集群性能优化实践合辑(下)

脏数据比例多少算高? 写分开会有时延吗,是不是有一致性问题? 如何定位详细的慢查询呢? 如何快速定位MongoDB的问题发生在集群中的哪些节点?启用读写分离的情况下?...20%,客户端请求对应mongodb处理现成将会选择脏数据page淘汰到磁盘,等page淘汰腾出内存空间后,才会处理客户端请求的DB访问,所以如果阀值达到20%客户端访问将会变慢。...qrw arw:等待队列数,如果该值越大,说明会引起客户端请求排队处理。一般该值会再dirty占比超过20%,used占比过高超过95%,或者磁盘IO慢会出现。...问题六、如何快速定位MongoDB的问题发生在集群中的哪些节点?启用读写分离的情况下?...问题十四、数据一致性迁移过程中同步你们是怎么保证的呢? 如果通过mongoshake等工具迁移集群,需要提前关闭blance功能,否则无法解决一致性问题。

2.1K70
领券