腾讯后台开发面试题

面试合集:数据库+数据结构+JVM+网络+JAVA+分布式+操作系统 第一个模块:数据库 1.1 腾讯数据库面试问题 解释ACID四大特性 原子性的底层实现 数据库宕机后恢复的过程 如何保证事务的ACID特性 MySQL日志类型 这5个题目相对来说是比较普遍的,这里我就不一一给出答案了,给大家看下我的那个数据库学习笔记,这些题目在笔记里都是能找到的 1.2 我的数据库学习笔记 (1)自己整理的20个高频数据库学习知识点 事务四大特性(ACID)原子性、一致性、隔离性... 阅读详情
三面是总监面,本人不幸被拒了,这次面试没有问项目相关的问题,项目的问题是放在二面问的。三面给人的 感觉要求很严,有些问题看似基础,但问得很细,稍有闪失就被pass,绝不能有模棱两可那种回答,以下是面试题:


1)tcp三次握手的过程,accept发生在三次握手哪个阶段?


2)Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流?


3)const的含义及实现机制,比如:const int i,是怎么做到i只可读的?


4) valitale的含义。


5)OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。


6)100亿个数,求最大的1万个数,并说出算法的时间复杂度。


7)设计一个洗牌的算法,并说出算法的时间复杂度。


 socket在什么情况下可读?

--------------
1)三次握手之后
2)流无边界,数据报有边界.TCP是先进先出的,并且可靠.
3)编译器相关,优化可能让其直接转为一常量代入.
4)volatile吧,告诉编译器此处必须得从地址去取,不得作相关优化。千万注意,这里与硬件cache可不是一回事。
5)#define OFFSETOF(s, m) ({s s1;(void*)(&s1)-(void*)(&s1->m);}) /*gcc*/
6)建一个堆,先把最开始的1万个数放进去。以后每进一个,都把最小的赶出来。
7)产生2*54+rand()%2次交换,所有序列已经很接近平均分布(只要rand()满足均分),并且比较快。否则会是复杂度比较高的算法。我统计 过。
不知道想问什么。
9)拥塞控制是把整体看成一个处理对象的,流量控制是对单个的。感知的手段应该不少,比如在TCP协议里,TCP报文的重传本身就可以作为拥塞的依据。依 据这样的原理,应该可以设计出很多手段。

9)流量控制与拥塞控制的区别,节点计算机怎样感知网络拥塞了?


前段时间专心面过腾讯,经过了N轮的技术面,结果还是挂了,但没挂在技术面,比较欣慰,回来之后写一点总结,以供有梦想进入腾讯做后台服务器开发的同学参考,本文章为胡成精心总结,胡成原创,copy和转载请通知。ps:()之内的文字由作者点评,非面试题文字。

linux和os:

netstat tcpdump ipcs ipcrm (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小 ^_^ ,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调试程序的经验)

cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握

awk sed需掌握

共享内存的使用实现原理(必考必问,然后共享内存段被映射进进程空间之后,存在于进程空间的什么位置?共享内存段最大限制是多少?)

c++进程内存空间分布(注意各部分的内存地址谁高谁低,注意栈从高道低分配,堆从低到高分配)

ELF是什么?其大小与程序中全局变量的是否初始化有什么关系(注意.bss段)

使用过哪些进程间通讯机制,并详细说明(重点)

makefile编写,虽然比较基础,但是会被问到

gdb调试相关的经验,会被问到

如何定位内存泄露?

动态链接和静态链接的区别

32位系统一个进程最多多少堆内存

多线程和多进程的区别(重点 面试官最最关心的一个问题,必须从cpu调度,上下文切换,数据共享,多核cup利用率,资源占用,等等各方面回答,然后有一个问题必须会被问到:哪些东西是一个线程私有的?答案中必须包含寄存器,否则悲催)

写一个c程序辨别系统是64位 or 32位

写一个c程序辨别系统是大端or小端字节序

信号:列出常见的信号,信号怎么处理?

i++是否原子操作?并解释为什么???????

说出你所知道的各类linux系统的各类同步机制(重点),什么是死锁?如何避免死锁(每个技术面试官必问)

列举说明linux系统的各类异步机制

exit() _exit()的区别?

如何实现守护进程?

linux的内存管理机制是什么?

linux的任务调度机制是什么?

标准库函数和系统调用的区别?

补充一个坑爹坑爹坑爹坑爹的问题:系统如何将一个信号通知到进程?(这一题哥没有答出来)

c语言:

宏定义和展开(必须精通)

位操作(必须精通)

指针操作和计算(必须精通)

内存分配(必须精通)

sizeof必考

各类库函数必须非常熟练的实现

哪些库函数属于高危函数,为什么?(strcpy等等)

c++:

一个String类的完整实现必须很快速写出来(注意:赋值构造,operator=是关键)

虚函数的作用和实现原理(必问必考,实现原理必须很熟)

sizeof一个类求大小(注意成员变量,函数,虚函数,继承等等对大小的影响)

指针和引用的区别(一般都会问到)

多重类构造和析构的顺序

stl各容器的实现原理(必考)

extern c 是干啥的,(必须将编译器的函数名修饰的机制解答的很透彻)

volatile是干啥用的,(必须将cpu的寄存器缓存机制回答的很透彻)

static const等等的用法,(能说出越多越好)

数据结构或者算法:

《离散数学》范围内的一切问题皆由可能被深入问到(这个最坑爹,最重要,最体现功底,最能加分,特别是各类树结构的实现和应用)

各类排序:大根堆的实现,快排(如何避免最糟糕的状态?),bitmap的运用等等

hash, 任何一个技术面试官必问(例如为什么一般hashtable的桶数会取一个素数?如何有效避免hash结果值的碰撞)

网络编程:

tcp与udp的区别(必问)

udp调用connect有什么作用?

tcp连接中时序图,状态图,必须非常非常熟练

socket服务端的实现,select和epoll的区别(必问)

epoll哪些触发模式,有啥区别?(必须非常详尽的解释水平触发和边缘触发的区别,以及边缘触发在编程中要做哪些更多的确认)

大规模连接上来,并发模型怎么设计

tcp结束连接怎么握手,time_wait状态是什么,为什么会有time_wait状态?哪一方会有time_wait状态,如何避免time_wait状态占用资源(必须回答的详细)

tcp头多少字节?哪些字段?(必问)

什么是滑动窗口(必问)

connect会阻塞,怎么解决?(必考必问,提示:设置非阻塞,返回之后用select检测状态)

如果select返回可读,结果只读到0字节,什么情况?

keepalive 是什么东东?如何使用?

列举你所知道的tcp选项,并说明其作用。

socket什么情况下可读?

db:
mysql,会考sql语言,服务器数据库大规模数据怎么设计,db各种性能指标

最后:补充一个最最重要,最最坑爹,最最有难度的一个题目:一个每秒百万级访问量的互联网服务器,每个访问都有数据计算和I/O操作,如果让你设计,你怎么设计?

腾讯后台开发C、C++面试题 概述 参考:后台开发高频面试题目 面试分为以下几大块 一、 C/C++ const 多态 什么类不能被继承 二、网络 网络的字节序 网络知识 tcp三次握手 各种细节 timewait状态 tcp 与 udp 区别 概念 适用范围 TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办,为什么挥手不能只有三次,为什么time_wait。 对于socket编程,accept方法是干什么... 阅读详情

相关推荐

腾讯后台开发面试题及答案

腾讯后台开发面试题及答案, 资源是网友整理的,我这提供pdf的分享,欢迎下载。这部分都是免积分分享给大家

BAT后台开发面试题库

1.tcp三次握手的过程,accept发生在三次握手哪个阶段? 第一次握手:客户端发送syn包(syn=j)到服务器。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。 三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用

sofia1217的专栏 2075

腾讯后台开发面试题解答

(腾讯)后台开发面试题解答

2024银四分享成功入职腾讯(后台开发岗)面试真题

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)最新整理电子书《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!” />针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。下面的面试题答案都整理成文档笔记。

2401_84048225的博客 1012

docker配置国内镜像源

【代码】docker配置国内镜像源。

愿听风成曲 9614

手把手教你用HI3516CV610搭建智能安防摄像头(附完整开发资料)

本文详细介绍了基于海思HI3516CV610 SOC搭建智能安防摄像头的完整开发流程,包括硬件选型、系统架构设计、开发环境搭建、智能分析功能开发及系统调优。通过实战案例,展示了如何利用内置NPU实现人形检测和异常行为分析,并提供了量产测试方案,帮助开发者快速完成智能摄像头项目。

backprop5master的博客 541

后台开发高频面试题目

网络相关1.tcp与udp的区别1.基于连接与无连接 2.对系统资源的要求(TCP较多,UDP少) 3.UDP程序结构较简单 4.流模式与数据报模式 5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证2.udp调用connect有什么作用1.因为UDP可以是一对一,多对一,一对多,或者多对多的通信,所以每次调用sendto()/recvfrom()时都必须指定目

Jerry的专栏 1万+

CKEditor5富文本编辑器 - 视频引入、预览及自定义toolbar

文章目录定义遇到的问题视频部分引入媒体url失败原因解决方法:自定义视频provider视频预览及页面不显示视频问题解决方案:H5 \标签如何移除toolbar中的部分插件 一个小后端很少接触前端框架,只能在知识的海洋中漂泊。。。 定义 <script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"&gt...

huhui806的博客 8198

最新腾讯5面,面试复盘总结:JAVA+分布式+MySQL+数据结构

(2)自己整理的66个JAVA面试知识点Java面试知识点(一)hashmap、hashtable和hashsetJava面试知识点(二)Java中的原码、反码和补码Java面试知识点(三)Java中的private、protected和publicJava面试知识点(四)初始化执行代码顺序(含static块和构造块)以及类方法和实例方法Java面试知识点(五) String 和 char 的对比Java面试知识点(六)forward 和 redirectJava面试知识点(七)优化 Hibernate 所

2401_84003839的博客 1177

13-单片机模块化程序: 单片机AT指令配置模块程序模板(非阻塞版)

资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊【单片机,物联网,上位机】: 说明1:知识从未如此性感。 烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系! 说明2:学的是思想,而非程序!此代码思路适用于所有的单片机。 说明3:学会以后,下面的代码可能会跟你一辈子! 说明4:这一系列文章是为大幅度裁剪本人博客文章!使博客文章更有条理。便于推其它教程! 拷贝这两个文件到自己的工程 ..

杨奉武的博客 1280

WSL2 Ubuntu复现FoundationPose项目(docker)

复现一个基于深度学习的物体姿态估计框架FoundationPose项目,使用docker,WSL2

woaidawangwang的博客 2000

腾讯后台开发三面面试题

三面是总监面,本人不幸被拒了,这次面试没有问项目相关的问题,项目的问题是放在二面问的。三面给人的 感觉要求很严,有些问题看似基础,但问得很细,稍有闪失就被pass,绝不能有模棱两可那种回答,以下是面试题: 1)tcp三次握手的过程,accept发生在三次握手哪个阶段? 2)Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流? 3)const的含义及实

淡云阁 1449

基于Termux的Android平台OpenClaw部署:移动端AI助理实现

本文介绍了在Android设备上通过Termux部署OpenClaw AI助理的方案。Android设备的便携性、Termux提供的完整Linux环境以及多样化的硬件配置使其成为理想的部署平台。文章详细分析了不同级别Android设备的硬件规格(从入门级到旗舰级),并提供了最低/推荐配置要求。部署步骤包括Termux安装初始化、Python环境配置以及性能优化建议。该方案充分利用Android设备的传感器和电池供电优势,为移动办公、学习等场景提供了低成本、高便携性的AI助理解决方案。

博客 3014

腾讯linux内核面试,腾讯后台开发类面试题

如下整理的是腾讯后台开发类面试题,分享给大家参考:linux和os:netstat :显示网络状态tcpdump:主要是截获通过本机网络接口的数据,用以分析。能够截获当前所有通过本机网卡的数据包。它拥有灵活的过滤机制,可以确保得到想要的数据。ipcs:检查系统上共享内存的分配ipcrm:手动解除系统上共享内存的分配(如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小 ^_^ ,...

weixin_28763005的博客 355

嵌入式开发环境Vscode开发STM32单片机程序

STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的。这里介绍一些使用 gcc +开发单片机程序的经验。(这里不解释 gcc 是什么)。

嵌入式技术开发 1843

MCP开发实战:基于openEuler系统MCP插件的开发、测试与发布全流程

MCP开发实战:基于openEuler系统MCP插件的开发、测试与发布全流程

jks212454的博客 555
上一篇: c/c++程序在内存中的分布
下一篇: BAT后台开发面试题库
sofia1217
博客等级 码龄17年 36粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值