1 / 24
文档名称:

2022年腾讯后台开发模拟面试题解答.docx

格式:docx   大小:63KB   页数:24页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2022年腾讯后台开发模拟面试题解答.docx

上传人:业精于勤 2021/12/16 文件大小:63 KB

下载得到文件列表

2022年腾讯后台开发模拟面试题解答.docx

相关文档

文档介绍

文档介绍:linux和os:
netstat :显示网络状态
tcpdump:重要是截获通过本机网络接口数据,用以分析。可以截获当前所有通过本机网卡数据包。它拥有灵活过滤机制,可以保证得到想要数据。
ipcs:检查系统上共享内存分派
ipcrm:手动解除系统上共享内存分派
(如果这四个命令没据说过或者不能纯熟使用,基本上可以回家,通过概率较小 ^_^ ,这四个命令纯熟掌握限度基本上能体现面试者实际开发和调试程序经验)
cpu 内存 硬盘 等等与系统性能调试有关命令必要纯熟掌握,设立修改权限 tcp网络状态查看 各进程状态 抓包有关等有关命令 必要纯熟掌握
awk sed需掌握
共享内存使用实现原理(必考必问,然后共享内存段被映射进进程空间之后,存在于进程空间什么位置?共享内存段最大限制是多少?)
共享内存定义:共享内存是最快可用IPC(进程间通信)形式。它容许各种不有关进程去访问同一某些逻辑内存。共享内存是由IPC为一种进程创立一种特殊地址范畴,它将出当前进程地址空间中。其她进程可以把同一段共享内存段“连接到”它们自己地址空间里去。所有进程都可以访问共享内存中地址。如果一种进程向这段共享内存写了数据,所做改动会立即被有访问同一段共享内存其她进程看到。因而共享内存对于数据传播是非常高效。
共享内存原理:共享内存是最有用进程间通信方式之一,也是最快IPC形式。两个不同进程A、B共享内存意思是,同一块物理内存被映射到进程A、B各自进程地址空间。进程A可以即时看到进程B对共享内存中数据更新,反之亦然。
c++进程内存空间分布(注意各某些内存地址谁高谁低,注意栈从高到低分派,堆从低到高分派)
ELF是什么?其大小与程序中全局变量与否初始化有什么关系(注意未初始化数据放在bss段)
可执行文献:包括了代码和数据。具备可执行程序。
可重定位文献:包括了代码和数据(这些数据是和其她重定位文献和共享
object文献一起连接时使用)
共享object文献(又可叫做共享库):包括了代码和数据(这些数据是在连接
时候被连接器ld和运营时动态连接器使用)。
使创立共享库容易,使动态装载和共享库结合更加容易。在ELF下,在C++
中,全局构造函数和析构函数在共享库和静态库中用同样办法解决。
使用过哪些进程间通讯机制,并详细阐明(重点)
makefile编写,虽然比较基本,但是会被问到
mkdir mf
cd mf
vim makefile
:
gcc –c -Lm
make
./hello
gdb调试有关经验,会被问到
如何定位内存泄露?
内存泄漏是指堆内存泄漏。堆内存是指程序从堆中分派、大小任意(内存块大小可以在程序运营期决定)、使用完后必要显示释放内存。应用程序普通使用malloc、realloc、new等函数从堆中分派到一块内存,使用完后,程序必要负责相应调用free或delete释放该内存块。否则,这块内存就不能被再次使用,咱们就说这块内存泄漏了。
C++程序缺少相应手段来检测内存信息,只能使用top指令观测进程动态内存总额。并且程序退出时,咱们无法获知任何内存泄漏信息
使用Linux命令回收内存,可以使用ps、kill两个命令检测内存使用状况和进行回收。在使用超级顾客权限时使用命令“ps”,它会列出所有正在运营程序名称和相应进程号(PID)。kill命令工作原理是向Linux操作系统内核送出一种系统操作信号和程序进程号(PID)
动态链接和静态链接区别
动态链接是指在生成可执行文献时不将所有程序用到函数链接到一种文献,由于有许多函数在操作系统带dll文献中,当程序运营时直接从操作系统中找。 而静态链接就是把所有用到函数所有链接到exe文献中。
动态链接是只建立一种引用接口,而真正代码和数据存储在此外可执行模块中,在运营时再装入;而静态链接是把所有代码和数据都复制到本模块中,运营时就不再需要库了。
32位系统一种进程最多有多少堆内存
多线程和多进程区别(重点 面试官最最关怀一种问题,必要从cpu调度,上下文切换,数据共享,多核cup运用率,资源占用,等等各方面回答,然后有一种问题必要会被问到:哪些东西是一种线程私有?答案中必要包括寄存器,否则悲催)
写一种c程序辨别系统是16位or32位
法一:int k=~0;
if((unsigned int)k >63356) cout<<"at least 32 bits"<<endl;
else cout<<"16 bits"<<endl;
法二://32为系统
int i=65536;
cout<<i<<endl;
int j=65535