记录C++准备面试的问题

记录一次腾讯c/c++ linux后台开发岗面试经历(面试题含答案) 腾讯c/c++ linux后台开发社招面试流程虽然因人而异,但就个人感受而言,腾讯的面试从考察内容方面来讲,还是有一定的共通性,这一点,可以从网上众多的面经可以看出。 腾讯的面试的流程持续一个多月 第一轮和第二轮电话面试,技术面; 第三轮和第四轮现场笔试+面试,技术面; 第六轮HR面; 最后offer call; 第一面 时间晚八点半,电话面,开始项目介绍,技术难点、实现细节。大概说了20分钟左右,可能是项目架构比较复杂,口述不是特别形象,又聊了10分钟,貌似双方谁也没说服谁。开始聊计算机网络 阅读详情

(还在学习中会一直更新,也算是为明年秋招的准备有一个记录,希望有错误的部份大佬们一定指教更正,谢谢!)

C++部份

static关键字用途

答:static关键字主要有两个作用
(1)改变变量的作用域
(2)改变变量的存储域,使变量只在声明的源文件可使用

当static修饰局部变量时,该变量就会变成局部静态变量,和普通局部变量有以下几点的差别:

(1)普通局部变量存储在栈内存中,而静态局部变量则存储在静态存储区,普通局部变量的生命周期同函数, 当函数结束调用后自动释放,而静态局部变量的生命周期则与整个程序一起,不会因为函数结束调用结束而释放,而静态局部变量在编译前就会初始化,如果不赋初值则默认初始化为0或者空,并且静态局部变量在整个程序运行的期间只会被初始化一次,举个例子当一个函数被调用两次时,普通的局部变量会被重复初始化,并且内存的地址会改变,而静态局部变量在第二次调用函数时会沿用第一次调用函数结束后的值。

(2)静态全局函数和全局变量,主要体现在改变了全局函数和变量的存储域,使得静态全局函数和变量只在声明该函数和变量的源文件可以调用。

(3)静态成员函数和静态成员变量,和普通成员函数和变量不同的是,静态的成员函数会变量属于类而不是属于特定的任何一个类对象,举个例子当我们实例化了一个类三次会得到三个不同的对象,而这三个对象中,每一个对象都有自己的成员函数和成员变量,但他们并没有自己的静态成员函数和变量,静态成员函数和变量是属于类中的。

计算机网络部份

从浏览器输入url到返回页面经历了什么(以www.baidu.com为例)

答:(因为每一个步骤都能大做文章,笔者这里,列出如果是在面试时应该怎么回答)
(1) 输入一个url地址

(2) DNS域名解析:(将域名解析为ip)
2.1 浏览器会先检查浏览器中是否有缓存,如果没有则浏览器会查找操作系统缓存(hosts文件),如果操作系统缓存也没有则再查找路由器的DNS缓存,还是没有则会查找网络运营商的DNS缓存,若还是没有,则就会开始向DNS服务器发送请求
注意在检查本地的缓存中,如果在缓存中有找到了该域名对映的ip则就不会再向DNS服务器发送请求

2.2 当在缓存中都没有找到域名对应的ip则会根据TCP/IP参数中设置的DNS服务器向该DNS服务器(后面称作本地DNS服务器)发出查找请求,如果本地DNS服务器发现要查找的域名正是本地DNS服务器配置区域中的资源,则返回解析结果给客户,完成域名解析。

2.3 如果没有则本地DNS服务器向根DNS服务器发起请求,而此时根DNS服务器是不会记录具体域名映射ip,DNS根服务器会回传给本地DNS服务器一个顶级域DNS服务器(.com),告诉本地DNS该域名是属于哪一个顶级域DNS服务器管理。

2.4 本地服务器接着就会向顶级域DNS服务器发出请求,如果这个顶级域DNS服务器有该域名映射的ip则回传给本地DNS服务器对应的ip此时本地DNS就会将ip回传给浏览器,并把这个映射关系记录在缓存中,如果无法解析域名,则会回传一个的权威DNS服务器(baidu.com)的地址,而本地DNS服务器收到后则向权威DNS发出请求,最后得到映射,会传给浏览器并缓存在本地DNS中

(3) 当收到该url对应的ip后,浏览器就向ip所在的服务器发送TCP的连接请求(TCP三次握手),然后建立了TCP/IP连接

(4) 建立连接后,浏览器开始发送HTTP请求报文给服务器

(5) 服务器接受到HTTP请求报文后开始处里请求

(6) 服务器发送http响应报文给浏览器(注意服务器不会马上主动断开TCP连接)

(7) 关闭TCP链接(TCP四次挥手)

(8) 浏览器根据http响应报文中的html数据构建dom树再根据css文件构建render树,接着开始布局render树,最后绘制render树
(此处有兴趣的读者可以去查找一些前端相关的知识,再面试时可以说页面渲染即可 p.s笔者也不是很了解…)

简述TCP三次握手的过程

(1) TCP数据包格式:
在这里插入图片描述
1.1 源端口号、目的端口号:简而言之就是发送方和接收方的地址

1.2 序列号(seq)、确认号(ack):都是32位元,可以理解成两个进程在收发之间的应答消息,序列号是进程发送到发送的号码,而确认号是期望目的进程返回的确认号码,目的是验证发送的数据是否正确。
(在TCP中序列号如果为i,则确认号为i+1)
举个例子:如果发送端进程传了两个数据,序列号分别为100,200,而目的端返回的确认号只有101则发送端进程就可以知道200序列号的数据丢失了

1.3 URG,ACK,PSH,RST,SYN,FIN=>这些都是标志位,主要是来表示TCP报文中数据的状态(默认标志位为1时代表有效)

  • URG:表示紧急指针有效
  • ACK:确认序号有效
  • PSH:接收方应该将这个报文赶快交给应用层
  • RST:重置连接
  • SYN:连接建立时用来同步序号。当SYN=1,ACK=0时,表明这是一个连接请求报文段
  • FIN:释放连接

(1)第一次握手:
客户端将标置位SYN置为1,产生一个seq=k,打包发送给服务器,客户端进入SYN_SENT状态

(2)第二次握手:
服务器接收到客户端的数据包后,由SYN=1知道客户端请求连接,并将标置位SYN,ACK置为1,产生一个新的seq*=j,以及ack=k+1(即seq+1)打包发给客户端,确认连接请求,服务器端进入SYN_RCVD状态

(1)第三次握手:
客户端收到服务器的确认后,检查ack是否为k+1,ACK是否为1,如果正确,则将标置位ACK置为1,以及一个新的ack*=j+1(就是seq*+1)打包传给服务器,服务器检查ack*是否为j+1以及ACK是否为1,如果正确则连接建立成功,双方进入ESTABLISH状态
在这里插入图片描述

深信服C++开发岗笔试记录 共有三部分:不定项选择(8道),填空(7道),编程(3道) 选择和填空的部分内容涉及较广,计算机知识和数学计算知识都有,不详细记录,要注意填空的概率问题较多 编程题共三道: 1.由N个容器分层叠放,编号从上到下为1到N,每个容器的容量为X,如果装水超过X则会溢出到下面的容器之中,最下一层则会溢出到容器之外。输入N,X,随后输入每层原有水的升数,以及灌注升数,按照从下层容器逐层向上的顺序。 所要输出... 阅读详情

相关推荐

字节跳动面试题9/2

一面 (2020-07-17 70min) 1.什么是内存对齐,为什么需要内存对齐 2.C++中哪些函数不能是虚函数,友元函数可不可以是虚函数 3.析构函数 4.TCP拥塞控制 5.什么是动态规划/什么是回溯 6.100亿个数,最大的1000个,说说复杂度 7.死锁,如何预防死锁 编程题: 回文子串个数 中心枚举,或者dp leetcode216(回溯) 组合总和(回溯搜索) 公共字符:比如 label , llabe , wolley 输出 l,l...

wwxy1995的博客 752

C++面试校招真题题库

C++工程师校招面试题库导读 一、学习说明 面试题库中不包括面试中问到的项目,hr 面以及个人技术发展类。 ⚫ 项目是比较个性化的,没办法作为一个题库来给大家参考,但是如果你有一个非常有含 金量 的项目的话,是非常加分的,而且你的项目可能也会被问的多一些; ⚫ hr面的话一般来说技术面通过的话个人没有太大的和公司不符合的问题都能通过; ⚫ 技术发展类的话这个就完全看自己啦,主要考察的会...

Linux高级开发的博客 1447

摩根斯丹利(大摩)面试经历

大摩是今年招聘季我最后面的一个公司。遗憾的是,最后一个公司没给我坎坷的应聘路划上一个完美的句号。乘着记忆还鲜活,记录一下面试经过和感受。 面试五个小时,半个小时笔试,三轮单面,一轮群面。本以为三轮单面会是两轮tech,一轮personal fit。结果都是tech面。 笔试: 与我之前查到的种种面经上说的不同,这次大摩面试单面完全考技术,没有personal fit。

Life_Hunter的专栏 8327

合肥ZOOM面试

ZOOM面试相对而言问的内容比较多,涉及面比较广。面试我的是三个技术面试官,感觉都是大佬级别的,一场面试下来一共一个小时。本人面试的是C++客户端开发,后面被问到了大量的操作系统和计算机网络知识,也就纳闷了,简历上没写的问那么多,不是诚心想搞死我么,真后悔自己当初没选择计算机专业。。。 1.自我介绍 2.介绍一下自己的项目(后面没详细问) 3.写一个单链表的反转算法 4.说说快速排序的思想...

WG18895627052的博客 1万+

2023届-SLAM算法校招面经

23年6月初终于尘埃落定,今年受大环境影响,这一路可以说是步履维艰,我的投递的行业主要面向机器人和自动驾驶,投递岗位大部分是算法工程师,其中也包括C++开发和少量的测试岗,在面试过程中加深了对车企、自动驾驶、扫地机、测绘等的认识,现在关于这几个领域的话题也能侃侃两句。

handily_1的博客 5319

“弃C++从Java”,六个月后五面阿里,定级阿里P6

前言 在接触 Java 之前我接触的比较多的语言就是C和C++,对Java语言的学习也有稍有的涉猎。到了今年疫情,在竞争的压力下,我才选择正式改行 Java ,到目前为止接触Java大概有一年多的时间,所以Java开发水平算不上很好。 刚开始投递的时候,我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就先投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手。面了一个月其他公司后,我找了一个博主的朋友帮助内推,就有了后面这次面试。 面试阿里之前我对自己的并发知识不太有信心,就花时间

Javachengchen的博客 184

360面试问题记录

c++ 360面试问题记录 关于简历 简历上面面试官问的问题: 1.先简单介绍一下自己 2.看你简历上写的xx和xx公司,都是做哪方面业务的,简单介绍一下 3.介绍一下你印象深刻的项目或者模块 剩下的基本都是简历上写了什么问什么。会问到性能上面相关 …然后有点记不清了 技术问题 1.vector是线程安全的吗? 2.Vector跟数组的区别?什么时候用vector什么时候用数组 3.动态指针 4.平时用的数据结构都有哪些? 5.GDB调试 6.Git使用 svn使用 7.流程图 类图用啥画的 =======

weixin_37930025的博客 191

力扣刷题实践:C++解题技巧与项目记录

力扣(LeetCode)是一个在线编程平台,为广大程序员提供了海量的编程题目,致力于帮助他们提升算法和编程能力,特别是为那些准备技术面试的人士提供了实用的学习资源。该平台不仅涵盖了从基础到高级的各类算法题,还设计了模拟面试的功能,通过与真实面试相似的题目和环境,让求职者在实战中锻炼自己。此外,力扣还提供了讨论区,让程序员们可以相互交流思路、算法和解决方案,促进了知识的共享与技术的交流。

weixin_35750483的博客 1288

腾讯PCG移动端面试初试

周四晚上,腾讯的技术面试官和HR来了学校做宣讲招实习生,本来想投后端岗位的,但是由于人数太多内卷严重,而移动端的人数相对较少HR说概率更大。于是,我转投了移动端。老实说,这一次面试是我第一次面试腾讯,时间通知在下午时间进行面试,我在网上搜了面试经验准备了一个晚上和上午,虽然不是特别好,但感觉比上一次面试比起来有比较大的进步,因此,也记录一下这次面试内容,留给需要的人看看。 HR通知下午1:00开始面试,需要提前15分钟到场签到,但由于复习知识点过了头以及吃饭耽搁了一会儿,12:55才到达,因此这里需要长记

一只兔子 439

避坑指南:Windows下OpenCV摄像头索引混乱问题的3种解决之道

本文详细解析了Windows下OpenCV摄像头索引混乱问题的3种解决方案,包括GUID查询法、DirectShow接口集成和注册表固化技术。针对工业视觉和智能监控场景,提供实战代码和性能优化建议,帮助开发者稳定识别多路摄像头设备,有效解决VideoCapture接口的索引漂移问题。

weixin_30836759的博客 406

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 541

美的c++研发岗面经---2020秋招

美的c++研发岗面经---2020秋招,希望对您有用

weixin_44378800的博客 2663

Arcgis填补栅格空缺值Nodata

Arcgis填补栅格空缺值Nodata

pass17的博客 1万+

360 C++实习一面面经

2022年秋招/春招/提前批/大厂面经整理(持续更新中~) 360 C++实习一面面经 1.自我介绍 2.extern,为什么要加extern,linux命令nm 3.为什么构造函数不能虚拟化 4.纯虚函数和虚函数区别,应用,虚函数表,指针 5.进程、线程 6.常用容器,vector和list区别,resize和reserve区别,erase底层 7.编程:一个随机数数组,删除3的倍数的值 我:遍历删除 hr:如何优化?想想erase底层,优化代码 我:把3的倍数的数整体移到最后再删除 8.僵尸进程和孤儿进

资料qun832218493 377

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

Ubuntu22.04通过DKMS包安装Intel WiFi系列适配器(网卡驱动)

Ubuntu安装Intel WiFi系列适配器(网卡驱动)

lu_linux的博客 2601

计算机日常答疑,一起寻找问题的最优解

创办星球几个月来,每周周五晚上固定答疑,带大家分享下,看看同学们都有什么疑惑,有相同疑惑的可以去b站找到录播/录屏的答疑视频C++学到什么程度可以去找实习呢?学C++必要的技术栈是什么?目前转C++开发一个半月,但感觉准备的很不成体系,项目匹配度也不高,有可能找到一个C++开发的暑期实习吗,还有C++对八股的准备要求是什么呢,目前感觉面试都会顺着问直到到不会想知道没有实习对秋招的影响有多大实习有什么用,为什么网络上都在鼓吹实习操作系统跟计网的知识之前都是简略过一遍视频然后背八股 现在感觉很不成体系 容易被问

weixin_52259848的博客 958

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4676

腾讯TEG提前批C++后台开发

本文来源于:https://blog.youkuaiyun.com/qq_28584889/article/details/88649156 985渣渣小硕一枚,非计算机科班出身,考研跨考到华工计算机专业。研究方向是图像处理,平时较少接触ML、DL等算法,所以3月初准备找实习的时候果断放弃了算法岗,没办法只能捡起自己以前稍稍有基础的的C++后台开发这块。 大概3月9号官网投递的简历,也没有找内推,我一直以为自己已经错过提前批啦,本意就是想先把简历投了,以后估计还要做腾讯的笔试才能进入面试。 结果3月16号晚..

Jiangtagong的博客 507

图像处理:张量分解在图像处理领域的应用

随着计算机视觉和图像处理技术的快速发展,图像数据呈现出高维、多模态、海量等特点。传统的矩阵分解方法已经无法有效处理这些复杂的图像数据。张量分解作为一种高阶矩阵分解方法,可以很好地捕捉图像数据的高维结构信息,在图像处理领域展现出巨大的应用前景。本节介绍几种常用的张量分解算法,包括高阶SVD(HOSVD)、Tucker-ALS、CP-ALS等。这些算法的核心思想是通过迭代优化的方式,交替更新张量分解的因子矩阵,直到收敛为止。综上所述,本文系统地介绍了张量分解技术在图像处理领域的应用。

AI天才研究院 7104

自动驾驶系统研发系列—全智能驾驶新高度:深入解析车道保持辅助(ELK)功能

车道保持辅助系统(ELK)是一种基于先进视觉感知技术的主动安全系统,能够通过车载摄像头实时监测道路上的车道线、道路边缘以及周围车辆的位置。这一功能的核心在于为驾驶员提供智能化的安全辅助,尤其是在驾驶员可能因疲劳、分心或其他原因无意识地偏离车道时,系统能够主动干预,从而避免危险发生。ELK系统不仅仅依靠摄像头对道路进行感知,还结合其他传感器的数据(如雷达),实时评估自车与车道线、周边车辆的相对位置。当系统检测到车辆即将偏离车道,或越过道路边缘时,ELK会通过控制电子助力转向系统(EPS)

u013889591的专栏 1211

上海银行(9.14) 开立医疗(9.15)

痛的领悟:论基础的重要性,还是好好背书吧   上海银行:3+1vs3 三个远程面试官 现场一个综面官 一次进去三个人,大概半个小时左右 首先挨个自我介绍,接着基本说一下自己的项目啥的 开立医疗:半个小时左右,首先自我介绍,然后开始怼基础,面试官直接打了一页A4纸,中间问你对自己学习的评价,毕业论文啥的, 整理主要问的C++问题: 进程和线程的区别 进程调度和线程调度的方法 怎么...

daiwen的博客 680

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

字节跳动后台面试(全程超越附体)

前言 笔者情况 1、笔者是本科末流985,今年保研到top2某码农专业的学生,因为下学期没啥事,同时也想转技术方向 c++(原来做的是前端开发),所以打算实习。在这之前在网易有实习半年(前端) 2、因为保研夏令营的事情把leetcode刷了400道题,也看了操作系统,计网啥的然后9月份之后刷了两 primer c++和effective c++,stl 源码解析、l...

Shaft_的博客 470

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

华为三面成功通过!让我们看看面试官都问了什么!

一面(1hour): 1、自我介绍 2、项目介绍,技术点相关。 3、C++和Java区别,GC C++不熟,只能说内存管理相关的问题,所以就问到了GC。然后说分代收集算法。老年代担保、元数据区从JVM移到了本地内存这些。 4、线程相关,Runnable和Thread的区别。 Thread类是实现了Runnable接口,平时使用起来可以使用start方法调用。线程池基本传Runnable对象,平时也是线程池用的多,所以具体相关不太熟。 5、线程池 6、synchronized,volatile 7、继承相关,

weixin_48655626的博客 5718

程序员面试宝典阅读错误笔记

程序员面试宝典阅读 发现的错误笔记 因为不太懂C++,跳过了c++对象部分 如果有错误请指正一下。 ---------------------2016年10月11日 09:51:22------------------- P217、13.5栈,电脑或者其他嵌入式芯片,决定栈的模式是cpu而不是系统 或者这么说,x86架构 的是由cpu决定的,向低地址增长,arm芯片有四种模

young0boy的博客 464

华为OD-23届转行-C++面经

摘要:本文记录了作者从备考到最终通过华为面试的全过程。备考阶段耗时四周,重点准备机考和技术面试。机考遇到原题并分享经验:注意输入多样性,200分题需先完成前两道。技术面试分为HR面、技术一面和二面,涵盖八股文、项目经验和编程题(如数组排列、最大子数组等)。主管面关注团队协作、职业规划等软技能。最终1.23审批通过,特别感谢栗栗姐在部门选择和答疑上的帮助。整体耗时3个月,强调原题练习和面试技巧的重要性

2401_86909848的博客 466
下一篇: 计算机网络-浅谈运输层(传输层)
还很菜的猴子
博客等级 码龄7年 1粉丝 3原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值