技术文章

I/O告警分析思路

瘦欲@ 提交于 2021-02-18 15:23:44
记录一次IO告警分析过程 接到告警,服务器IO飙升,连接服务器,登录服务器查看分析 top命令查看 首先就是通过top命令查看,因为top命令最直接,且信息量够大,覆盖面够全,可以看到CPU的wa有点高 CPU的wa是是wait,是CPU等待时间,通常是由于磁盘IO问题引起,当然也有可能是其他原因引起的 top命令的其他参数就不多介绍了,网上很多,接着看IO vmstat vmstat是一个很强大的工具,它除了能给出系统在性能方面的CPU和内存的统计信息之外,也能提供系统整体上的I/O性能情况 如上图,vmstat采集系统性能信息,取3个样本,每秒采集一次 可以看到采集的数据中,系统写磁盘5032个磁盘块,vmstat内磁盘块大小为1024字节,所以这里系统写磁盘速率约为每秒4MB,vmstat中也有CPU的wa统计,可以看到23%的时间用来等待I/O vmstat还提供自系统启动以来I/O子系统的性能信息 如上图,包括了磁盘数量,分区数量、读/写请求总数,读/写所花费的时间,以及当前正在处理的I/O总数(inprogress IO),等待I/O完成所花费的毫秒数(milli spent IO),这个是整个系统的IO统计信息 说一下合并读和合并写,linux在读写磁盘时,为了提高性能,内核合并对磁盘相邻区域的请求,这样减少了对磁盘IO的操作,从而一定程度上提高linux性能

敖丙读者只复习了半年,怒拿字节跳动Offer

断了今生、忘了曾经 提交于 2021-02-18 15:22:49
计科大三学生,无实习无项目经历成绩普通 一面3.9:40min HashMap和ConcurrentHashMap的区别 vector,list C++多态,虚函数机制 进程通信 进程线程差异 TCP三次握手四次挥手细节 算法题:最长不重复字串(HashTable,O(N)) 面试官人非常好,有一些遗漏的知识点会给你指出来并且讲解,也很耐心。 二面3.15:1h Java多态(看程序说结果,比较复杂,还考察了override和overwrite) 二叉搜索树 B树b+树 红黑树删除算法 用互斥锁实现读写锁,写者优先 算法题:有100个方格,每个上面有毒蘑菇和体力蘑菇,毒蘑菇减体力体力蘑菇加体力,当前体力是能跳到的最远距离,求是否能跳到最远方格,如果可以,求落在第100格上的最大剩余体力 二面面试官挺严肃的,回答问题不会肯定或者否定你,听完你的回答就会直接继续下一个知识点,节奏非常紧凑。面完我一度以为凉了,结果十分钟后hr打电话通知三面,而且三面面试官说前面的两次面试官评价挺高。所以小伙伴碰到比较严肃的面试官也不要灰心,平常心回答就好 三面3.17:1h 服务方法调用 RPC/Netty 序列化/反序列化 10亿找Top10000,需要考虑分片,如果用最小堆需要考虑高效合并 要考虑等待时间且带有优先权的打印机,设计数据结构使打印任务高效 二十四点牌

详解ELF可执行文件格式:读取头部信息和程序表头

馋奶兔 提交于 2021-02-18 15:21:49
要想实现ELF文件的入口劫持,不深入掌握其运行原理与组成结构那是不可能的。ELF的内部结构复杂,加载逻辑难以理解,因此我们需要通过切香肠的方式,将这个困难的技术点一点一滴的去攻克。 这一节我们先掌握如何读取头部信息和程序表头,我们先看ELF文件的大致结构: ELF文件格式最重要的就是所谓的段,特别是其中的代码段和数据段。对应上图就是.text,.data两个段。每个段都对应一个段表来描述,而若干隔断会组成一个整体,它对应一个program,而后者则由program header table来指向,讲解ELF数据结构最为详细的就是网址如下,有心的朋友可以认真阅读: https://man7.org/linux/man-pages/man5/elf.5.html 我们本次要解读ELF文件的两个部分,一个是其文件头。文件头描述了ELF文件很多重要信息,例如它运行的平台,支持的CPU类型等。使用命令行readelf -h 可以读取指定ELF文件的头部信息,如下图所示: 其对应数据结构如下: #define EI_NIDENT 16 typedef struct { unsigned char e_ident[EI_NIDENT]; uint16_t e_type; uint16_t e_machine; uint32_t e_version; ElfN_Addr e_entry; ElfN

为什么黑客从不用鼠标,一直在敲键盘?看完长见识了

落花浮王杯 提交于 2021-02-18 15:21:17
点击下方“ 民工哥技术之路 ”,选择“设为星标” 回复“ 1024 ”获取独家整理的学习资料! 在各种好莱坞大片里头,但凡需要“技术小子”表现一下如何用几分钟时间黑掉一个庞大IT系统的时候,里面的电脑都是这样的: 文字处理软件从来不显示光标。 所有的屏幕都显示1英尺高的字符。 高技术的计算机都有简单易用的图形界面。 即便是没有图形界面,计算机也能正确理解自然语言并执行。 只需要敲入“读出秘密文件”(“Access The Secret Files”),计算机就会给出任何你想要的信息。 仅仅通过敲入“上载病毒”(“Upload Virus”),就能够攻击一台计算机。 黑客总是能够在仅仅猜测密码一两次的情况下,就进入保密的计算机。 磁盘可以用在任何有软盘驱动器的计算机上,并且所有的软件可以工作在任何平台上。 笔记本计算机总有实时电视电话能力,它们的性能就是比超级CRAY计算机也不差。 有一个细节是,很多时候里面出现特别专业的操作电脑的画面时,基本没有鼠标的影子!还记得《黑客帝国》里接线员坦克操作的电脑么?不仅是图形界面,而且是键盘操作——根本没有放鼠标或者轨迹球的地方——再就是显示器屏幕旁的几个旋钮扳来扳去。 当然电影就是电影,不过黑客鼠标用得少也是事实,据某黑客的专业解读: 1、懒得搞图形界面。 看起来简单的图形界面实现起来工作量非常大

PE文件格式和ELF文件格式(上)----PE文件

天涯浪子 提交于 2021-02-18 15:20:37
PE文件格式详解 作者:MSDN 译者:李马 Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个的PE文件格式作一个十分彻底的解释,另外,本文中还带有对所有必需结构的描述以及示范如何使用这些信息的源码示例。 为了获得PE文件中所包含的重要信息,我编写了一个名为PEFILE.DLL的动态链接库,本文中所有出现的源码示例亦均摘自于此。这个DLL和它的源代码都作为PEFile示例程序的一部分包含在了CD中(译注:示例程序请在MSDN中寻找,本站恕不提供),你可以在你自己的应用程序中使用这个DLL;同样,你亦可以依你所愿地使用并构建它的源码。在本文末尾,你会找到PEFILE.DLL的函数导出列表和一个如何使用它们的说明。我觉得你会发现这些函数会让你从容应付PE文件格式的。 介绍 Windows操作系统家族最近增加的Windows NT为开发环境和应用程序本身带来了很大的改变,这之中一个最为重大的当属PE文件格式了

Fragment使用笔记(四)

六月ゝ 毕业季﹏ 提交于 2021-02-18 15:19:48
Fragment + ViewPager + FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT(appcompat) Fragment生命周期 MainHomeSubFirstFragment: onAttach MainHomeFragment: onAttachFragment: MainHomeSubFirstFragment MainHomeSubFirstFragment: onCreate MainHomeSubSecondFragment: onAttach MainHomeFragment: onAttachFragment: MainHomeSubSecondFragment MainHomeSubSecondFragment: onCreate MainHomeSubFirstFragment: onCreateView: cacheView is null MainHomeSubFirstFragment: onViewCreated MainHomeSubSecondFragment: onCreateView: cacheView is null MainHomeSubSecondFragment: onViewCreated MainHomeSubFirstFragment:

Navicat premium 15 中文版Windows系统安装与激活,详细说明

北战南征 提交于 2021-02-18 15:19:25
Navicat premium 15 中文版Windows系统安装与激活,详细说明 准备工作 首先下载好Navicat premium 15 ,下载地址: http://www.navicat.com.cn/download/navicat-premium 根据自己电脑配置选择版本,我这里下载的64位版。 下载解压注册机,下载地址: http://www.32r.com/soft/63536.html#cnxh 此地址中含64位和32位Navicat 15 英文版,自行忽略,主要用里边的注册机 Navicat_Keygen_Patch_V5.5_By_DFoX.exe 安装 如果之前已经安装过,请彻底删除,未安装过请自行忽略删除步骤 删除原来安装过的Navicat 删除前需要明确原Navicat的安装目录,不知道或者忘记安装在哪里了可以在图标右键-打开文件所在位置。 删除步骤1. 控制面板-程序-卸载 删除步骤2. Win+R 输入regedit 找到注册表中的 ==计算机\HKEY_CURRENT_USER\SOFTWARE\PremiumSoft==目录如图 右键->删除 NavicatPremium 删除步骤3. 删除原Navicat安装目录下的所有文件。删除前需要明确原Navicat的安装目录,不知道或者忘记安装在哪里了可以在图标右键-打开文件所在位置。 正式安装: 注意

责任链模式

僤鯓⒐⒋嵵緔 提交于 2021-02-18 15:13:32
1.1 责任链 1.1.1 定义 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链。当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链将请求的发送者和请求的处理者解耦了。 1.1.2 角色 UML Handler : 抽象处理者角色,声明一个请求处理的方法,并在其中保持一个对下一个处理节点 Handler 的引用。 ConcreteHandler: 具体处理角色,对请求进行处理,如果不能处理则将该请求转发给下一个请求。 1.1.3 案例 用责任链模式设计一个请假条审批模块,假如规定学生请假小于或等于 2 天,班主任可以批准,小于或等于 7 天,系主任可以批准,小于或等于 10 天,院长可以批准,其他情况不予批准,这个实例适合使用职责链模式实现。首先,定义一个领导类Leader,它是抽象处理者,包含了一个指向下一位领导的指针 next 和一个处理假条的抽象处理方法。然后,定义班主任类ClassAdviser,系主任类DepartmentHead和院长类Dean,它们是抽象处理者的子类,是具体处理者,必须根据自己的权力去实现父类的抽象方法,如果无权处理就将假条交给下一位具体处理者,直到最后。客户类负责创建处理链

不满于CRUD,五面阿里成功斩获Offer!鬼知道我怎么过来的!

孤者浪人 提交于 2021-02-18 14:59:15
写在前面 又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一 定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。 面经分享 今天给大家分享一个面试大厂的完整面经,小伙伴们可以对照下,这些面试题自己是否都会了呢? 同时后面还整理了这些问题的一套面试解析文档及架构学习笔记资料,有需要的小伙伴点赞收藏后,添加小助理vx:bjmsb2020 即可 一轮技术面(90分钟) hashmap和hashtable区别 为什么会产生死锁 jvm类加载 java反射获取私有属性,改变值 反射用途 所用数据库 项目难点,问题 如何解决项目中遇到的问题 项目中遇到的最难解决的地方 二轮技术面(120分钟) 讲项目 数据库乐观锁使用 如何分库分表 MySQL极限 HashMap源码 设计一个线程安全的HashMap 快排的实现,时间复杂度和空间复杂度 会什么算法 如何把项目变成SOA架构 Spring源码,最深刻的模块,aop用途 JVM内存模型 垃圾回收机制 项目中查看垃圾回收 三轮技术面(150分钟) ConcurrentHashMap底层原理? 手写一个LRU(用LinkedHashMap) HashMap底层数据结构? JDK1.8中的HashMap为什么用红黑树不用普通的AVL树?

多角度对比分析阿里云服务器和腾讯云服务器那个好?

南楼画角 提交于 2021-02-18 14:58:23
本文转载自 云期刊 ,原文地址: https://www.yunqikan.cn/2246.html 云服务器具有维护成本低,安全稳定,高可扩展性和 7 X 24 小时的售后支持的优势,因此云服务器成为中小企业建站的首要选择。国内的云服务器竞争也进入了跑马圈地的时代,以 阿里云 、 腾讯云 、百度云三大BAT为首,不断推出优惠活动,争取更多的用户体量;以 华为云 、天翼云、西部数据为代表的云产品服务商紧跟其后,谁也不愿意放弃云市场的这一篇蓝海;以压低价格、虚标配置来吸引客户的诸多小品牌也应运而生,可动不动就宕机、丢失数据、没有售后服务的用户体验葬送了他们的前途,只能坑一波小白用户。 云服务器的竞争中脱颖而出的是 阿里云 服务器和 腾讯云 服务器,好多用户在选择云服务器时都会有一个同样的问题, 阿里云 服务器和 腾讯云 服务器那个好?在君哥看来,不能绝对的用 “好” 或者 “不好” 来评价,各有利弊,使用场景不同,用户选择就不同。君哥在本文中从发展历程、主要产品、产品价格、产品稳定性、安全防护、售后服务方面对比分析 阿里云 服务器和 腾讯云 服务器,部分言论整理自网络。 发展历程: 阿里云 : 阿里云 创立于2009年,是国内最早提出云计算的公司,现在为世界第三、亚洲第一云计算服务商,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力