1 lingshengxueyuan

尚未进行身份认证

我要认证

《淮南子·主术训》:“是故非澹漠无以明志,非宁静无以致远。”,身处急功近利的社会,能够宁静致远。零声(0voice),取自没有浮躁的声音,静心致力于职业提升教育事业。为工程师的技术提升穿针引线,为工程师的职业成长搭桥铺路。 【762073882】

等级
TA的排名 2w+

2020年美团秋招C++精选面试题及答案(下)

布隆过滤算法布隆过滤器使用二进制向量结合hash函数来记录任意一条数据是否已经存在于集合中。布隆过滤器的执行流程为:首先申请包含SIZE个bit位的Bit集合,并将所有Bit置0。然后使用数种(k)不同的哈希函数对目标数据进行哈希计算并得到k个哈希值(确保哈希值不超过SIZE大小),然后将Bit集合中以哈希值为下标所处的bit值置为1,由于使用了k个哈希函数,因此记录一条数据的信息将在Bit集合中把k个bit值置为1。由于哈希函数的稳定性,任意两条相同的数据在Bit集合中所对应的k个bit位置是.

2020-09-15 16:50:43

2020年美团秋招C++精选面试题及答案(上)

1. B+树特点(1)每个结点的关键字个数与孩子个数相等,所有非最下层的内层结点的关键字是对应子树上的最大关键字,最下层内部结点包含了全部关键字。(2)除根结点以外,每个内部结点有 到m个孩子。 [3](3)所有叶结点在树结构的同一层,并且不含任何信息(可看成是外部结点或查找失败的结点),因此,树结构总是树高平衡的。2.CAS的缺点及解决CAS的缺点有如ABA问题,自旋锁消耗问题、多变量共享一致性问题.1.ABA:问题描述:线程t1将它的值从A变为B,再从B变为A。同时有线程t2要将值从A变为

2020-09-15 16:37:31

leetcode系列解题思路

这阵子一直在刷题,刷到这个系列了,写点自己能理解的心得体会吧,不是最优的,但个人认为理解的不太难。言归征战,这个系列的大体思路就是给你一连串的股票价格,再加上各个限定条件,让你求出每种限制条件下,各自能获得最大的利润。(要是能有这个预知未来的能力,可以不用搬砖了,orz…)I. 限制条件:只允许交易一次;思路:先算出每次交易的利润,正表示盈余,负表示亏损,问题就转换为累加数组,求连续子数组的最大值,代码如下:int maxProfiti(vector<int>& prices){

2020-09-14 15:37:51

为linux内核添加FPGA字符设备驱动程序

Linux中驱动程序位于操作系统和硬件之间,是连接操作系统与硬件之间的纽带,今天我们就来向Linux中添加一个简单的FPGA字符驱动程序。I. Linux字符驱动程序简介在Linux中驱动程序分为字符驱动,块设备驱动,网络设备驱动三种,字符设备驱动是其中比较简单的一种。字符设备是指只能一个字节一个字节进行读写操作的设备,不能随机读取设备中的某一数据、读取数据要按照先后数据。II.添加字符驱动程序的步骤更多C/C++Linux视频资料请加qun:832218493或vx关注零声学院免费领取!1.

2020-09-12 17:35:17

C/C++Linux平衡二叉搜索树简介

avltree, 平衡二叉查找树,是一种特殊情况下的二叉查找树,它的特殊之处在于,对于每一个节点,其左子树深度和右子树深度之差的绝对值不大于1.自从上次写完BSTree后,心里想写AVL树了,查了点资料,感觉自己之前的结构是真的low,哎,知耻而后勇,先说一下这次的avl与上次bstree的两点不同:1)节点数据结构中新增了一个高度变量,代码如下:struct Node{ struct Node *left; struct Node *right; int val; i

2020-09-11 16:39:03

Linux内存寻址

程序输出给cpu的是逻辑地址,经过cpu的硬件电路MMU当中的分段单元转为虚拟地址;虚拟地址再经过MMU当中的分页单元转换为物理地址逻辑地址转换为虚拟地址硬件当中的分段:逻辑地址由段选择器和段内偏移量组成。每个段由一个8字节的段描述符表示,它描述了该段的一些特征(段的基地址等信息)。根据段选择器可以找到对应的段描述符,根据段内偏移量就可以得到虚拟地址。根据段选择器查找段描述符的时候,可以去GDT或者LDT(两者用谁取决于段选择器当中的TI字段,并且这两者分别位于gdtr和ldtr两个寄存器当中)查找

2020-09-11 16:03:42

2020年字节跳动秋招C++精选面试题及答案(下)

1.如何理解IO多路复用的三种机制Select,Poll,Epoll?1.Select首先先分析一下select函数int select(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set *exceptset,const struct timeval *timeout);【参数说明】int maxfdp1 指定待测试的文件描述字个数,它的值是待测试的最大描述字加1。fd_set *readset , fd_set *writes

2020-09-03 15:20:44

2020年字节跳动秋招C++精选面试题及答案(上)

1. C++智能指针如何解决内存泄露问题1.shared_ptr共享的智能指针std::shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相同的内存。在最后一个shared_ptr析构的时候,内存才会被释放。可以通过构造函数、std_make_shared辅助函数和reset方法来初始化shared_ptr:// 构造函数初始化std::shared_ptrp ( new int(1) ) ;std::shared_ptrp2 = p ;// 对于一个未初始化的智能指针,

2020-09-03 15:06:03

盘点2020年滴滴秋招C++面试题及答案(下)

1. 线程池的原理及实现多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元 的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。一个线程池包括以下四个基本组成部分:1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线 程池,添加新任务;2、工作线程(PoolWorke

2020-08-29 16:23:40

盘点2020年滴滴秋招C++面试题及答案(上)

1. C++实现线程安全的单例模式懒汉模式:class singleton{protected: singleton() { pthread_mutex_init(&mutex); }private: static singleton* p;public: static pthread_mutex_t mutex; static singleton* initance();}; pthread_mutex_t singleton::mutex;singleton*

2020-08-29 16:15:09

盘点2020年华为秋招c++后台开发面试题集(上)

1. static有什么用途?(请至少说明两种)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.某32位系统下, C++程序,请计算sizeof 的值.char str[] = “http://www.ibegroup.com/”

2020-08-26 14:55:55

盘点2020腾讯秋招C++后台面试题集

1、TCP三次握手的过程, accept发生在三次握手哪个阶段?accept发生在三次握手之后。第一次握手:客户端发送syn包(syn=j)到服务器。第二次握手:服务器收到syn包,必须确认客户的sY(ack=j+1),同时自己也发送一个ASK包(ask=k)。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。握手完成后,客户端和服务器就建立了tcp连接。这时可以调用 accept函数获得此连接。2、用UDP协议道讯时怎样得知目标机是否获得了数据包 ?

2020-08-24 20:42:19

关于 TCP/IP,必知必会的十个问题!

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。最.

2020-08-22 17:35:15

音视频开发为什么要学SRS流媒体服务器

1 SRS是什么官方定义:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。有将近10k star(包括https://github.com/ossrs/srs链接)网址:https://github.com/winlinvip/srs (目前作者主要维护的链接)SRS基本资料:Wiki地址,里面有上百篇详细文档,第一入手资料:https://github.com/ossrs/srs/wikiGi

2020-08-19 18:25:05

WebRTC P2P互动直播实现方案探讨

到目前为止,直播行业继续如预期的那样如火如荼的发展着,在先后竞争完延迟,高清,美颜,秒开等功能后,最近各大直播平台比拼的一个热点就是连麦。什么是连麦?简单描述就是当主播直播期间,可以与其中某一个粉丝进行互动,并且其他粉丝能够观看到这个互动过程。这个连麦的操作把主播和粉丝的交互从文字聊天一下升级为音视频互动,这个功能瞬间就提升了粉丝们的参与感;同时,这个互动过程其他粉丝都可以看到,极大满足了连麦粉丝的幸福感。连麦的流程图如下:·在主播直播过程中,主播提示进入互动环节,此时用户可以参与互动;·用.

2020-08-15 21:27:52

WebRTC的RTP、RTCP协议实现分析

一 前言RTP/RTCP协议是流媒体通信的基石。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输、流量控制和拥塞控制等服务质量保证。在WebRTC项目中,RTP/RTCP模块作为传输模块的一部分,负责对发送端采集到的媒体数据进行进行封包,然后交给上层网络模块发送;在接收端RTP/RTCP模块收到上层模块的数据包后,进行解包操作,最后把负载发送到解码模块。因此,RTP/RTCP 模块在WebRTC通信中发挥非常重要的作用。本文在深入研究WebRTC源代码的基础上,以Vi

2020-08-14 15:30:38

盘点那些不为人知的互联网通信协议(内容较多建议珍藏)

一、概述1.1 五层模型互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。如何分层有不同的模型,有的模型分七层,有的分四层。我觉得,把互联网分成五层,比较容易解释。如上图所示,最底下的一层叫做"实体层"(Physical Layer),最上面的一层叫做"应用层"(Application Layer),中间的三层(自下而上)分别是"链接层"(Link

2020-08-13 16:37:29

备战秋招——算法与数据结构(15)

1. shell脚本统计文件中单词的个数方法一:(1)cat file|sed ‘s/[,.:;/!?]/ /g’|awk ‘{for(i=1;i<=NF;i++)array[KaTeX parse error: Expected 'EOF', got '}' at position 6: i]++;}̲END{for(i in a…i]++;}END{for(i in array) print i,array[i]}’#(1)和(2)效果一致。方法二:(1)awk ‘BEGIN{RS

2020-08-13 15:31:42

盘点腾讯linux C++后台开发面试题

鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言,之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃的亏比较大。面试分为以下几大块C/C++网络操作系统Linux系统MongoDBRedismysql算法设计模式分布式架构系统设计等等,未完待续C/C++const多态什么类不能被继承(这个题目非常经典,我当时答出了private但是他说不好,我就没想到final我以

2020-08-12 17:24:25

备战秋招——算法与数据结构(14)

1. 使用“反向代理服务器”的优点是什么?(1)提高访问速度由于目标主机返回的数据会存在代理服务器的硬盘中,因此下一次客户再访问相同的站 点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点 能明显提高请求速度。(2)防火墙作用由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设 限,过滤某些不安全信息。(3)通过代理服务器访问不能访问的目标站点互联网上有许多开发的代理服务器,客户机可访问受限时,可通过不受限的代理服务器 访问目标站点,通俗说,我们

2020-08-12 13:59:37

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。