后台开发
文章平均质量分 93
攻城狮百里
学无止境
展开
-
什么是可靠数据传输服务?什么是可靠数据传输协议?
要想理解可靠数据传输(Reliable Data Transfer),那么不妨结合与其相对的概念——不可靠数据传输进行理解。UDP可靠性设计、TCP/UDP应用场景分析1.什么是可靠数据传输服务?什么是可靠数据传输协议?比如我们要实现这样的一组通信,发送方通过一个网络协议给接收方发送一些数据分组,接收方有可能接收到了全部数据,也可能因为各种原因只接收到了部分数据分组或者根本没有收到任何数据分组。即使收到了全部的数据分组,但可能这些分组是有序的(或者说可以通过一些操作恢复为发送时的顺序)可以得到完整的原创 2021-07-03 16:20:01 · 3236 阅读 · 4 评论 -
关于ZooKeeper原理、概念、应用、机制、负载均衡
Zookeeper概述Zookeeper是一种分布式协调服务。主要服务于分布式系统,解决分布式系统节点管理问题的中间件。Zookper = 文件系统 + 通知机制面试中问到的那些分布式问题 — zookeeper:https://www.bilibili.com/video/BV1xv411t7xuC/C++Linux服务器开发/后台架构师学习视频:https://ke.qq.com/course/417774?flowToken=1031343ZooKeeper应用场景统一配置管理统一命原创 2021-07-01 20:48:23 · 272 阅读 · 2 评论 -
2021 C/C++Linux后台开发岗权威学习路线,而这可能也是你离腾讯最近的一次!
关于c/c++,很多人一开始就会觉得,光凭这个能找到工作? 而关于Linux,大部分的人可能对它的了解仅仅限于知道它有个内核,一般都是做运维的。 然后就是这样的属性,却成为腾讯的核心岗位之一。针对这样的岗位需求,TX也归纳了关于内部职级T1-T9的技术内容点。1.语言2.数据结构与算法3.数据库4.网络原理还有操作系统、网络编程、分布式架构、云原生、软技能等方面的能力划分,详细的归纳整理了各个职级对于技术能力的要求, 所以真的可能就是你离腾讯最近的一次面试机会与挑战了!因为懒,就不全贴原创 2021-05-28 21:26:47 · 361 阅读 · 2 评论 -
后端干货 | 进程、线程、协程 10 张图讲明白了!
进程线程可以说是操作系统基础,看过很多关于这方面知识的文章都是纯理论讲述,编程新手有些难以下咽。我准备用图解的形式带你学习和掌握进程、线程、协程。文字力求简单明了,对于复杂概念做到一个概念一张图解,在操作系统课程的学习中,很多人对进程线程有大体的认识,但操作系统教材更偏向于理论叙述,本文会结合 Linux 系统实现分析,更加印象深刻。同时,大部分人都接触进程和线程比较多,对协程知之甚少,然而最近协程并发编程技术火热起来,希望读完本文你对协程也有一个基本的了解。话不多说,我们马上进入本文的学习。进程转载 2021-04-22 17:26:51 · 2778 阅读 · 0 评论 -
DNS原理及其应用
一、DNS 是什么?概念简介网络上的所有主机,从只能手机到笔记本电脑个人PC到为大量零售网站提供内容服务的服务器,都是通过IP的形式定位找到彼此并互相通信。然而IP地址对于人类来说比较不易于记忆且复杂,所以当我们打开浏览器浏览网站时,我们不再需要通过这些冗长复杂的IP进行访问,而是通过像 example.com 这样的域名就可以连接到正确的主机位置。使用DNS进行访问控制有以下好处:可以对服务进行一定效果的负载均衡;对请求进行分地区的容灾管理、访问控制等;便于人们记忆。当然,任何事物都会有原创 2021-04-13 15:03:57 · 900 阅读 · 0 评论 -
C++后台开发不知道怎么学?先看看这份学习路线吧!
在去年结束的秋季招聘中,后台开发或服务器开发的岗位需求一度火热,甚至超过了算法岗。不少同学从诸神黄昏的算法岗战场上退下,转向更偏向工程能力的后台开发岗,从而造成后台开发岗位竞争的大爆发。后台开发工程师主流使用的编程语言有C++、Java、PHP以及目前慢慢流行的Golang等。本文就将以C++的角度,讲讲如何学习和准备后台开发的岗位。一、语言基础无论是C++开发还是Java开发,对于一个码农而言,最重要的就是对于编程语言的熟悉。同样,无论从事哪种类型的岗位,首当其冲的就是要掌握好语言基础。 C++是一转载 2021-04-08 15:26:46 · 389 阅读 · 0 评论 -
多线程---解析无锁队列的原理与实现
前言为什么需要无锁队列呢?我们知道,多核心优化是现在游戏开发的一个重点课题,无论是工程实践也好,研究算法也罢,将工作并行化交由多线程去做是一个非常普遍的场景。对于这种场景,我们通常会采用线程池+命令队列的方式去实现,其中的命令队列就会使用互斥锁或是无锁队列。并且由于命令队列的读写是较轻量级的操作,采用无锁队列的性能要高于有锁的操作。因此,实现无锁队列等无锁数据结构,可以看作是迈入多线程编程的基石。推荐视频:https://www.bilibili.com/video/BV1354y1b7nz/问题描述原创 2021-04-07 16:21:51 · 1487 阅读 · 0 评论 -
从mysql高可用架构看高可用架构设计
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过www.baidu.com 能不能访问来判断“网络的连通性”,转载 2021-04-06 15:55:29 · 174 阅读 · 0 评论 -
LinuxC/C++服务器开发学习路线(已签腾讯sp,附学习资料)
找完工作后一直想找时间写点东西,回馈牛客,由于在忙各种事情,一直拖到现在。作为一个19届的老油条,趁在毕业之前,将我的学习总结分享给大家,希望对正在找实习或者找工作的同学有所帮助。个人介绍首先介绍下自己吧,我是一名非科班硕士,本科专业机械,期间参加过一些学科竞赛(智能车竞赛、机创等),研究方向主要是自动化,软件方面的基础基本为零。我真正开始学习软件基础知识是从研一开始,实验室主要是C++开发,而由于我科专硕只有两年,在秋招之前学习的时间不到一年,由于实验室管理制度严格,导师项目催得比较紧,我学习的时间都转载 2021-04-01 17:55:21 · 837 阅读 · 0 评论 -
tcp协议详解(后端面试常问问题)
关联视频:tcpip accept,11个状态,细枝末节的秘密,accept的秘密 . tcp协议头的秘密 . tcp状态机的秘密tcpip协议栈与网络API的关联协议头tcp报文头定义:struct tcphdr { unsigned short sport; unsigned short dport; unsigned int seq; unsigned int ack; unsigned char hdrlen:4 resc:4; unsigned char cwr:1,转载 2021-03-30 15:25:29 · 274 阅读 · 0 评论 -
Redis不是一直号称单线程效率也很高吗,为什么又采用多线程了?
Redis是目前广为人知的一个内存数据库,在各个场景中都有着非常丰富的应用,前段时间Redis推出了6.0的版本,在新版本中采用了多线程模型。因为我们公司使用的内存数据库是自研的,按理说我对Redis的关注其实并不算多,但是因为Redis用的比较广泛,所以我需要了解一下这样方便我进行面试。总不能候选人用过Redis,但是我非要问人家阿里的Tair是怎么回事吧。所以,在Redis 6.0 推出之后,我想去了解下为什么采用多线程,现在采用的多线程和以前版本有什么区别?为什么这么晚才使用多线程?Redis转载 2021-03-27 15:11:34 · 190 阅读 · 0 评论 -
一文概括进程、线程、协程、串行、并行以及并发概念
推荐视频:【LinuxC/C++】线程池如何做到最高效,线程的效率真的比进程高?推荐课程: LinuxC/C++服务器开发/架构师 腾讯T8认证进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。通俗的来讲,进程就是一个程序的运行实例,例如打开一个软件其原创 2021-03-26 21:38:37 · 1210 阅读 · 0 评论 -
Redis亿级数据过滤和布隆过滤器
Redis详解—rehash、布隆过滤器、redis持久化如上图所示,布隆过滤器(Bloom Filter) 就是这样一种专门用来解决去重问题的高级数据结构。但是跟 HyperLogLog 一样,它也一样有那么一点点不精确,也存在一定的误判概率,但它能在解决去重的同时,在 空间上能节省 90% 以上,也是非常值得的。布隆过滤器是什么布隆过滤器(Bloom Filter) 是 1970 年由布隆提出的。它 实际上 是一个很长的二进制向量和一系列随机映射函数 (下面详细说),实际上你也可以把它 简单理解原创 2021-03-19 20:58:27 · 612 阅读 · 0 评论 -
剖析Redis事务实现原理
所谓事务(Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务必须满足ACID原则(原子性、一致性、隔离性和持久性)。简单来说事务其实就是打包一组操作(或者命令)作为一个整体,在事务处理时将顺序执行这些操作,并返回结果,如果其中任何一个环节出错,所有的操作将被回滚。在Redis中实现事务主要依靠以下几个命令来实现:Redis事务从开始到结束通常会通过三个阶段:1.事务开始2.命令入队3.事务执行以下是一个最简单的Redis事务流程:第一步跟其他的关系型数据库类似,也是需要原创 2021-03-15 15:09:18 · 233 阅读 · 0 评论