面试心经
文章平均质量分 84
每个公司的岗位对能力技能要求会有细微差别,这体现在技能广度和深度。通过面试是拉近认知的有效方式,希望我的面试经验能够帮助你哦
谢艺华
主要深耕于 linux 后端开发,热衷于体系能力(包括不限于C、C++、linux、编译原理、数据结构和算法、网络、操作系统
)的沉淀,分享工作中重要的知识点和具有代表性的案例分析。
欢迎志同道合的朋友与我一起前进
展开
-
【面试心经】——蔚来汽车Linux 岗位开发 02
第四次挥手:客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备,于是再次向服务端发送报文表示接收到服务端准备好释放连接的信号,并进入TIME-WAIT阶段等待2MSL ( 最大报文生存时间) 后再断开连接,服务端收到最终确认报文后立即断开连接,双方断开TCP连接。第三次挥手:服务端自从发出ACK确认报文之后,经过了关闭等待阶段,做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文表示已经准备好释放连接了(没有数据需要传输给客户端了),然后进入最后确认状态。原创 2023-11-29 11:33:21 · 1257 阅读 · 0 评论 -
【面试心经】——上海广升智能科技有限公司
我们用户一般只能访问用户态的功能,不可以直接访问内核态。其实这个是不正确的,若了解过编译原理,main和其它函数并无特殊的地方,在最终的可执行文件中,都是一个符号而已。在计算机系统中,程序使用的地址是逻辑地址,而物理内存的地址是实际的硬件地址。2>&1 ,表示将错误输出指向标准输出指向的文件表项,此时标准输出指向的是终端,故错误输出指向的还是终端。解析:shell解释是从左往右的,command默认的标准输入,标准输出,错误输出是终端。首先这两个对应的是两个方面,进程对应的是存储资源,线程对应的计算资源。原创 2023-11-29 15:43:42 · 986 阅读 · 0 评论 -
【面试心经】——蔚来汽车Linux 岗位开发01
优点:我们可以看到使用共享内存进行进程间的通信真的是非常方便,而且函数的接口也简单,数据的共享还使进程间的数据不用传送,而是直接访问内存,也加快了程序的效率。同时,它也不像匿名管道那样要求通信的进程有一定的父子关系。它也是一种半双工的通信方式,但它允许无亲缘关系进程间的通信。缺点:共享内存没有提供同步的机制,这使得我们在使用共享内存进行进程间通信时,往往要借助其他的手段来进行进程间的同步工作。在多个进程同步访问一个给定存储区时,若服务器进程正在将数据放入存储区,则在它做完之前,客户进程不应该去取这些数据。原创 2023-11-29 11:29:21 · 1043 阅读 · 0 评论 -
【小白进阶】Linux 调试大法——gdb
设备里面可能同时运行多个应用,不同的应用可能都会发生crash,若core文件名不做特殊识别,可能无法在多个core文件中,找到我们需要的那一个。作为后端开发工程师,gdb 调试是必备技能,这个技能应该是一个能力集,不仅仅是会几个gdb 调试指令即可,而是在这个过程中,遇到任何问题,都应该能够独立分析解决。我想说的是,这点能力是完全不够的,身边一些同事稍微遇到一点问题,就不知道如何进行调试了。coredump是将程序崩溃的那一刻的内存进行快照,因此越占用内存的进程,其生成的core文件,也就会越大。原创 2023-11-28 16:07:53 · 2044 阅读 · 2 评论 -
【献给过去的自己】栈实现计算器(C语言)
时间流逝,在竞争激烈的社会背景下,我们的身处IT行业,不断逼迫自己去学习,去成长。但是总会觉得自己做的还不够。为什么总是赶不上别人的脚步,陷入怀疑自我的处境。朋友们,偶尔回头看看来时路上的自己,你会发现,你一直在成长,你的努力一直是正向反馈着你,不要轻视自己的努力。共勉~原创 2023-11-16 18:37:36 · 1268 阅读 · 0 评论 -
C语言中的整型提升问题分析
首先变量a整型提升的0x000000A5.取反之后得0xFFFFFF5A。整型提升是C程序设计语言中的一项规定:在表达式计算时,各种整形首先要提升为int类型,如果int类型不足以表示则要提升为unsigned int类型;整型提升时如果是无符号数据则左边补0,如果是有符号数据则补符号位。但是它对于float类型的数据是不适用。但是该题没有限制数据的类型。这样写的缺点是不能避免数据的溢出,如果a+b的结果大于a所能表示的最大值。第二点,~的优先级最高,>>符的优先级最低。例:有两个数据,写出交换数据的宏。原创 2019-04-19 17:26:01 · 462 阅读 · 1 评论 -
栈实现计算器
当遇到运算符时,如果他的优先级比运算符栈栈顶元素的优先级高就栈。反之,取出栈顶运算符和操作数栈顶的两个连续操作数运算,并将结果存入操作数栈,然后继续比较该运算符与栈顶的运算符的优先级。左括号一律进运算符栈,右括号一律不进运算符栈,取出栈顶运算符和操作数栈顶的两个连续操作数运算,并将结果存入操作数栈,直到取出左括号为止。首先,要写出计算器,你要按照以下几点去写,才能保证运算的优先级不发生错误。如果有不足的地方,欢迎大家留言,帮助我改进。原创 2016-06-12 11:06:48 · 18502 阅读 · 10 评论 -
嵌入式是什么?为什么引入嵌入式技术?嵌入式技术的优缺点?
操作系统,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。简单地说,操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。原创 2016-04-18 20:03:28 · 7309 阅读 · 7 评论