本文章来自我的微信个人技术公众号---网络技术修炼,公众号中总结普及网络基础知识,包括基础原理、网络方案、开发经验和问题定位案例等,欢迎关注。
浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。DNS查询分为两种方式,一种是递归查询,一种是迭代查询。如果是迭代查询,本地的DNS服务器,向根域名服务器发送查询请求,根域名服务器告知该域名的一级域名服务器,然后本地服务器给该一级域名服务器发送查询请求,然后依次类推直到查询到该域名的IP地址。DNS服务器是基于UDP的,因此会用到UDP协议。
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
今天就来分享一位研二 Java 同学面试滴滴实习的面经,主要是问了Java+Redis&MySQL+系统&网络+算法+项目,都是比较经典面试题,收藏起来,反复复习!
1.操作系统:就是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序
1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 物理cpu个数:cat /proc/cpuinfo |grep -c ‘physical id’ CPU一共有多少核:grep -c processor /proc/cpuinfo 将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数。 2. 查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢? 两个命令分别是 w 和 uptime 这三个系统负载值分别表示在1分钟、5分钟和15分钟内平均有多少个任务处于活动状
这次跟大家分享一位同学面腾讯后端开发的面经,一步一步深挖计算机基础的内容,问的问题很多,光面试时常长达 1 个小时多,再加上写算法 20 分钟,面试的强度还是挺大的。
今天分享百度提前批的 Java 后端开发面经,整体上考察的点挺多的,主要重点考察了网络i/o、网络协议、linux系统、mysql,Java 问的不多,可能是百度的后端开发的语言不是主要以 Java 为主,所以重点看面试者的计算机基础是否扎实。
其实实习面试的问题都差不多,八股+项目+算法,都必须要做好准备,只是说实习面试要求可能不会太严格,比如你实习的算法,即时没写出来,能说出大概的思路,其实也是能过的,秋招的话,可能没写出来算法,大概率就凉了。
1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?
三次握手的目的是确保两端的序列号同步,并且双方都可以发送和接收数据。如果第一次握手失败,客户端会重复发送SYN包;如果第二次握手失败,服务器也会重复发送SYN+ACK包;如果第三次握手失败,客户端会重新发送ACK包。
一旦我们将这些作用域嵌套起来,就变成了另外一个重要的知识点「作用域链」,也就是 JS 到底是如何访问需要的变量或者函数的。
平常处理服务器的问题遇到的最多的是负载高了,内存高了,io高了等问题,这里最明显的表现就是相关的监控指标了,对于诊断这种问题起到事半功倍的效果。
String,Map,List,Set,Zset Redis的工作线程始终只有一个(单线程)
HIDS主机型入侵检测系统是部署在服务器上的安全防护Agent,用来保障服务器安全。在大型互联网公司,面对的是几十万台甚至上百万台服务器规模的IDC时,复杂的服务器环境,网络环境,巨大的数据量给产品带来了哪些技术挑战呢?
HashMap默认的初始容量为16,负载因子为0.75,当容量为12时就会发生扩容。
常见工作中,计算机系统的资源主要包括CPU,内存,硬盘以及网络,过度使用这些资源将使系统陷入困境。事实上,当上述服务器系统资源中的任何一个遭遇瓶颈,都会带来服务器性能的下降,典型的症状就是系统运行迟缓。 内存负载: free -m 以MB为单位显示整个系统的内存使用情况; free -h 则自动选择以适合理解的容量单位显示: top -c 命令用来动态查看具体进程消耗的内存空间,以及查看不同进程对于CPU、内存等资源的使用情况。 ---- cpu负载: 使用w查看系统负载; 默认情况下,top -c命令是以
1、选择合适的MPM(Multi -Processing Modules, 多处理模块)
我们先想想一个问题,我们打开一个微信或者一个XX音乐,一个网页,到底会开几个进程。
(以下内容是我从网上查找整理得到的…红色标注为面试提及的,但不一定是我整理的内容)
一、网络问题 1、临时性 检查:ping, mtr,dig,dig+trace 等命令,检查网络状况,DNS等 解决:联系机房或视具体情况而定 eg:http://ping.chinaz.com/ 查看各地响应时间 2、网络不同或距离太远 检查:客户端和机房所在网络情况 解决:双线机房或分布式部署,动态DNS,需要考虑成本 3、资源加载慢 检查:chrome控制台 解决:CDN,合并请求,压缩页面代码,多域名请求(http协议中有对浏览器并发请求连接数的限制,IE是10,火狐 chrome是6)等 二、前端
1.单是CVM主机安全控制台无数据显示,大概率是主机安全服务进程YDService被强制停止。
作者:当年的春天 来源: http://blog.csdn.net/zhanghan18333611647/article/details/57128279 前言 俗话说安全猛于虎,之前多多
点击上方“LiveVideoStack”关注我们 作者:Winlin、Azusachino、Benjamin 编辑:Alex ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 ---- 当我们的业务超过单台流媒体服务器的承受能力,就会遇到负载均衡问题,一般我们会在集群中提供这种能力,但实际上集群并非是唯一的实现方式。有时候负载均衡还会和服务发现等时髦词汇联系起来,而云服务的LoadBalancer无疑不可回避,因此,这个问题其实相当复杂,以至于大家会在多个场合询问这个问题,我打算系统地阐述
其实大厂的日常实习面试和校招面试差不太多,面试的问题都差不多,八股+项目+算法,都必须要准备,只是说实习面试要求可能不会太严格,比如你实习的算法,即使没写出来,能说出大概的思路,其实也是能过的,秋招的话,可能没写出算法,大概率就凉了。
1 内存 适当选用适合大小的内存,保证谷峰负载时,有足够的内存使用 2 使用ab测试apache性能 ab -n 1000 -c 10 http://www.test.com 使用ab的缺点:不能更真实的模仿用户的操作。 3 调节保持连接的设定 KeepAlive On #在单一连接时进行多个请求 MaxKeepAliveRequests 200 #单一连接时间可以允许多少个保持连接的请求 KeepAliveTi
系统管理员(sysadmins)负责日常维护生产系统和服务。其中一个关键任务就是保证功能性服务能24小时工作。为了这个,他们得很小心地计划备份方式,灾难管理策略,定时维护,安全审查,等等。和任意其他管理一样,系统管理员也有他们的必备工具。在正确的时间正确的情况下使用合适的工具,可以帮助维护操作系统的健壮,达到最小的服务中断时间和最大的运行时间。 这篇文章会介绍一些系统管理员日常活动中最常用和有效的命令行工具。如果你想推荐其他没在这里列出来的好用的工具,别忘了在评论区里分享一下。 网络工具 ping:通过IC
系统管理员(sysadmins)负责日常维护生产系统和服务。其中一个关键任务就是保证功能性服务能24小时工作。为了这个,他们得很小心地计划备份方式,灾难管理策略,定时维护,安全审查,等等。和任意其他管理一样,系统管理员也有他们的必备工具。在正确的时间正确的情况下使用合适的工具,可以帮助维护操作系统的健壮,达到最小的服务中断时间和最大的运行时间。
最近有小伙伴在后台留言,让我写一篇负载均衡的文章,说网上文章其实已经很多了,每次都觉得某某文章讲的不错,可是一旦过段时间,啥都不记得了。那今天我们就用生活中的故事来聊聊负载均衡。文章中部分可能有点啰嗦,但是为了更好能让大家理解,我也是拼了,真真切切的想让大家掌握知识。
背景 我们在程序设计时,有一个极其重要的非功能性指标:性能,总是无时无刻不缠绕在程序员的脑海,尤其是我们开发的面向大众的Web服务,网络接口等程序。 高性能的程序可以使用更少的服务器资源提供同样规模的用户请求(成本低),也可以更快的响应用户请求(体验好)。 当然,高性能的程序设计也会更加复杂,开发也有更大难度。 这次的内容,我们面向高性能程序设计方向,来讲一讲其中最核心最重要的缓存。 希望能够帮助大家更好的理解缓存为王的含义,也能更好的利用缓存,设计出高性能的程序。 本文作者:michaeywang
sysfs把连接在系统上的设备和总线组织成为一个分级的文件,它们可以由用户空间存取,向用户空间导出内核的数据结构Q以及它们的属性。sysfs的一个目的就是展示设备驱动模型中各组件的层次关系。
一、如果知道一个文件名称,怎么查这个文件在 Linux下的哪个目录,如:要查找 tnsnames.ora文件
本文整理了一些比较常见的 Linux 相关的面试题目,该问答录主要分为基础知识篇和服务器篇。内容主要涉及 Linux 基本原理、常用命令操作、服务器应用等部分的内容。
说到并发,期英文单词为Conurrent,如果要彻底理解并发,那么还需知道一个词就是并行,英文单词Parallel。 那么二者有什么关系呢?Erlang 之父 Joe Armstrong用如下图来解释了并发与并行的区别:
1、Linux进程间的通信方式?两个进程是如何来共享内存的?两个进程如何通过信号量通信? Linux下进程间通信的方式有:管道(有名/无名) 、消息、信号、信号量、共享内存、邮箱、socket。 Linux下共享内存是进程间通信的方式之一,共享内存允许两个或多个进程访问同一块内存,比如像 malloc函数向不同的进程返回执行同一块物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其他拥有这块物理内存指针的进程也会察觉到这个更改。在进程间的通信方式中,共享内存是通信效率最高的,访问共享内存区域和访
14.快手一面 1.CDn工作原理 答:CDN通过广泛的网络节点分布,提供快速、稳定、安全、可编程的全球内容分发 加速服务,支持将网站、音视频、下载等内容分发至接近用户的节点,使用户可就近 取得所需内容,提高用户访问的响应速度和成功率。 https://blog.csdn.net/aliyunbaike/article/details/84952966 2.go的init用过吗,主要使用场景是哪些? 答:每一个源文件都可以包含一个 init 函数,该函数会在 mai
此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和做的笔记。 而【WebKit 技术内幕】是基于 WebKit 的 Chromium 项目的讲解。 书接上文 浏览器内核之WebKit 架构与模块
要介绍进程与线程的话,需要先讲解下并行处理,了解了并行处理的概念,再理解进程和线程之间的关系就会变得轻松许多。
不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了,就是那边路由器坏了,还偶发地各种超时,而我们灵敏的服务探测服务总能准确地抓住偶现的小问题,给美好的工作加点料。
开篇我们先来简单回顾下历史,从 1993 年发布的第一款“好用”的浏览器 Mosaic,到 1994 年网景公司推出的红极一时的 Navigator 浏览器,图形用户界面化的浏览器终于开始推动了 Web 技术的普及和发展。
收集各种有用脚本,有部分脚本是网上找的,脚本的代码我都看过了,功能我也测试过,完全没什么问题,支持centos6,ubuntu12,debian7以上,kvm,vmware,hyper-v架构的linux系统。
记得好像写过相关僵尸进程的东西,稍微再写一点,因为总是有人说僵尸进程的存在会导致机器的load值变高,不知道哪里看到的谬论。
Go天生支持高并发等特性,不仅适合做服务器端开发、分布式存储,同样适合Web网络应用开发。 TCP协议和UDP协议的对比? TCP协议的优点: 可靠稳定 TCP在传输数据之前,会有三次握手来建立连接 TCP在传输数据时,有确认、窗口、重传、拥塞控制机制 TCP在传输数据完成后,会断开连接用来节省系统资源 TCP协议的缺点: 慢,传输效率低 占用系统资源高 容易被攻击(DOS/DDOS/CC攻击) UDP协议的优点: 快 无连接的方式,占用系统资源少 比TCP安全 UDP协议的缺点: 不可靠,不稳定 没有可靠
可以通过 Chrome 浏览器中的 选项->更多工具->任务管理器,打开 Chrome 的任务管理器窗口,来查看 Chrome 打开一个页面,需要启动多少进程:
一、操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。 【适用场景】 任何项目。 二、Java虚拟机调优 应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。 因此对性能要求较高的情况推荐使用 JDK1.6。 【适用场景】 任何项目。 三、Apache集成Tomcat Web服务器专门处理HTTP请求,应用服务器是通过很多协议为应用提供商业逻辑。虽然Tomcat也可以作web服务器,但其处理静态html的速度比不上Apache,且其作为web服务器的功能远不如Apache,因此把Apache和Tomcat集成起来,将html和Jsp的功能部分进行明确分工,让Tomcat只处理Jsp部分,其他的由Apache,IIS等web服务器去处理,由此大大提高Tomcat的运行效率。 如果一个项目中大量使用了静态页面、大量的图片等,并有有较大的访问量,推荐使用Apache集成Tomcat的方式来提高系统的整体性能。 Apache和Tomcat的整合有三种方式,分别是JK、http_proxy和ajp_proxy.其中JK方式是最常见的方式,JK本身有两个版本分别是1和2,目前1最新版本是1.2.8,而版本2早已经废弃了。http_proxy是利用Apache自带的mod_proxy模块使用代理技术来连接Tomcat。Ajp_proxy连接方式其实跟http_proxy方式一样,都是由mod_proxy所提供的功能。只需要把配置中的http://换成ajp://,同时连接的是Tomcat的AJP Connector所在的端口。 相对于JK的连接方式,后两种在配置上比较简单的,灵活性方面也一点都不逊色。但就稳定性而言不像JK这样久经考验,所以建议采用JK的连接方式。 Apache+JK+Tomcat配置: 使用到的两个配置文件分别是:httpd.conf和mod_jk.conf。其中httpd.conf是Apache服务器的配置文件,用来加载JK模块以及指定JK配置文件信息。mod_jk.conf是到Tomcat服务器的连接定义文件。 【部署步骤】 1.安装Apache服务器 2.部署Tomcat 3.将mod_jk.so拷贝到modules目录下面 4.修改httpd.conf和mod_jk.conf 【适用场景】 大量使用静态页面的应用系统。 四、Apache和Tomcat集群 对于并发要求很高的系统,我们需要采取负载均衡的方式来分担Tomcat服务器的压力。负载均衡实现大概有四种:第一是通过DNS,但只能简单的实现轮流分配,不能处理故障;第二是基于MS IIS,windows 2003 server本身就带了负载均衡服务;第三是硬件方式,通过交换机功能或专门的负载均衡设备来实现;第四种是软件的方式,通过一台负载均衡服务器进行,上面安装软件。使用Apache Httpd Server做负载均衡器,Tomcat集群节点使用Tomcat就可以做到上述第四种方式,这种方式比较灵活,成本相对比较低,另外一个很大的优点就是可以根据应用情况和服务器的情况做一些灵活的配置。所以推荐使用Apache+Tomcat集群来实现负载均衡。 采用Tomcat集群可以最大程度的发挥服务器的性能,可以在配置较高的服务器上部署多个Tomcat,也可以在多台服务器上分别部署Tomcat,Apache和Tomcat整合的方式还是JK方式。经过验证,系统对大用户量使用的响应方面,Apache+3Tomccat集群> Apache+2Tomcat集群 > Apache集成Tomcat > 单个Tomcat。并且采用Apache+多Tomcat集群的部署方式时,如果一个Tomcat出现宕机,系统可以继续使用,所以在硬件系统性能足够优越的情况下,需要尽量发挥软件的性能,可以采用增加Tomcat集群的方式。 Apache+Tomcat集群的方式使用到得配置文件有httpd.conf、mod_jk.conf、workers.properties。其中mod_jk.conf是对JK信息的配置,包括JK的路径等,workers.properties配置文件是对Tomcat服务器的连接定义文件。 Apache需要调整运行参数,这样才能构建一个适合相应网络环境的web服务。其中可进行的优化配置如下: 1. 设置MPM(Multi Processing Modules多道处理模块)。ThreadPerChild,这个
EulerOS 是华为自主研发的服务器操作系统,能够满足客户从传统 IT 基础设施到云计 算服务的需求。EulerOS 对 ARM64 架构提供全栈支持,打造完善的从芯片到应用的一体 化生态系统。EulerOS,以 Linux 稳定系统内核为基础,支持鲲鹏处理器和容器虚拟化技 术,是一个面向企业级的通用服务器架构平台。2021 年 11 月 9 日,在北京举行的 2021 操作系统产业峰会上,华为发布最新的欧拉 系统(openEuler),并将 openEuler 捐赠给中国开放原子开源基金会(OpenAtom Foundation)负责孵化及运营。
您需要监控 Linux 服务器的性能吗?试试用这些内置命令和附加工具吧!大多数 Linux 发行版都附带了大量的监控工具。这些工具提供了获取系统活动的相关指标。您可以使用这些工具来查找性能问题的可能原
Nginx 的高并发,官方测试支持 5 万并发连接。实际生产环境能到 2-3 万并发连接数。10000 个非活跃的 HTTP keep-alive 连接仅占用约 2.5MB 内存。三万并发连接下,10 个 Nginx 进程,消耗内存 150M。淘宝 tengine 团队测试结果是“24G 内存机器上,处理并发请求可达 200 万”。
周五下班比较早,我正在家里面玩吃鸡游戏,正在疯狂的跑毒,这时候坐在旁边刷着抖音的女朋友问了我一个奇怪的问题。
两次握手的话服务端无法确认自己发送和对方接收是否正常,三次握手就能确认双发收发功能都正常,缺一不可。
领取专属 10元无门槛券
手把手带您无忧上云