interviewquestionsonc你的好日子就要来了。你得到了一家顶级科技公司的面试机会,你知道,那是你一直梦想和祈祷能进入的公司。你心里七上八下的。无论你是新手还是专业人士,你仍然需要为面试做准备

在过去十年左右的时间里,我曾多次坐在面试官和被面试者的两边,看过足够多的面试,我知道其中的模式。通常情况下,面试的C编程部分会从关于C语言、理论和结构的问题开始,以了解应聘者对这个主题的了解程度。接下来是一些“阅读”代码,然后实际编写程序。

在本文中,我将带您了解典型的C理论问题。我们将分别讨论实际的编程问题。准备好开始了吗?我们开始吧。

如果您是新手,您可能想知道如何最好地展示您的技能,并掩盖您缺乏大量的编程经验。一些好的C语言编程肯定会有帮助。

如果您已经有了丰富的编程经验,那么您编写代码的时候可能几乎是在自动驾驶模式下。你知道你的东西。但你还记得那个理论吗?你能在面试时解释一下吗?它总是有助于唤醒你的记忆,回想起流行词汇C编程课程。

什么是空指针?

它是一个指针,不指向任何东西,即任何内存地址。它被定义为“NULL”,并且有一个内部值,保证是唯一的,不同于任何有效的指针。它通常用作占位符,直到你给指针赋了一个实际值并对有效指针进行交叉检查。

你知道有什么方法可以减少创建的可执行文件的大小吗?

如果包含多个库,我们可以尝试动态链接它们。

什么是静态变量?什么时候使用?

即使在定义静态变量的块终止后,声明为静态变量的变量仍将继续存在。静态变量有两种主要用途:

一个变量可以既是常量又是易失性的吗?

虽然这看起来像是矛盾,但却是可能的。的常量修饰符表示此代码块不能更改该变量,但可以通过此代码之外的方式更改该变量。

什么是宏?使用宏还是函数更好?

宏是在编译时展开为内联代码的预处理指令。这通常用于定义一些经常使用的限制、变量或代码片段。使用宏的优点是i)它是类型无关的ii)没有像函数调用那样的开销。然而,宏只能用于简单的代码片段,因为宏的“文本”是逐字内联放置的。

你知道enum是什么吗?宏和枚举相同吗?

枚举是枚举的缩写,是Ansi c中的一种变量类型。枚举可以用来将它们映射到更有意义的名称,而不是使用int来表示一组值。对于处理一组值,枚举是比宏更好的选择,尽管它可能是个人的选择。首选枚举的一些原因是它们是类型定义和有符号的。这意味着当有一组紧密关联的顺序整数时,它们工作得非常好。

你知道内存拷贝(memcpy)和字符串拷贝(strcpy)函数吗?它们可以互换使用吗?

一个存储器副本被设计用来处理任何类型的数据。您必须显式列出要复制的字节数。另一方面,字符串副本是一种专门的内存副本。它仅用于复制字符串。它将源的每个字节复制到目标,直到到达结束空字符为止。

是否有可能在程序退出后执行代码?

标准C库有一个atexit()函数,可以在程序结束时用于执行清理操作。你可以通过传递你想要的函数指针来做任何你想做的操作。

声明变量和定义变量之间的区别是什么?

声明一个变量只是告诉编译器它的类型。还没有为它分配内存。在定义变量时,它也会分配空间来存储变量。您也可以在声明变量时初始化它。

什么是指针和地址?

地址是内存中存储变量的位置。指针是存储地址的变量。

参数如何传递给函数?

除了数组和函数,C通过值传递参数或形参。这意味着它在函数中创建参数值的本地副本。函数不能修改传递给它的实际参数。

x++和x+1有什么不同吗?

是的,没有。它们都给出相同的输出。只是x++可以直接映射到INR或递增机器指令,而x+1将映射到读取和添加,因此需要更多的指令。

这是很多C的问题!现在你应该已经让他们相信你是专业的了!

如果你漏掉了任何一个答案,不用担心。说你不知道其中一个答案是可以的。你不会因为漏掉了一个答案而受到严厉的评判。保持冷静,继续下一个任务。面试更可能会对你的态度和能力进行全面的考察。这很容易通过快速的C课程来提高你的编程技能

虽然在这篇文章中我们关注的是C类问题,但为了真正做好面试准备,你也应该这么做考虑所有其他方面

所有最好的!面试成功!

c#顶级课程

面向初学者的c#。net
里克•菲利普斯
4.4 (1263)
完成c# Unity Game Developer 3D
Ben Tristem, Rick Davidson(游戏开发者)电视团队
4.7 (26828)
畅销书
c#中级:类,接口和面向对象
狂舞Hamedani
4.6 (23135)
畅销书
RPG核心战斗创造者:学习中级Unity c#编码
Ben Tristem, Rick Davidson, Sam Pattuzzi(游戏开发)电视团队
4.7 (8490)
c#高级主题:为技术面试做准备
狂舞Hamedani
4.5 (15119)
完整的c#大师级
丹尼斯•Panjuta教程。Denis Panjuta的eu
4.5 (12024)
c#和。net中的设计模式
Dmitri Nesteruk
4.4 (7102)
畅销书
学习使用c#和。net进行并行编程
Dmitri Nesteruk
4.5 (2035)
畅销书
Unity c#脚本:完成Unity游戏开发的c#betwayapp下载安装
Charger Games的Raja Biswas
4.5 (1388)
畅销书

更c#的课程

c#的学生也会学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示