
面试0-1
文章平均质量分 87
TrustZone_
一个搞技术的读书人,妄图分享最干货的技术知识与世界运转的底层逻辑。公ZH:TrustZone
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式C语言(四)
首先肯定长度是为0的数组ANSI C规定定义一个数组长度必须为一个常数,那么就是这个数组的长度在编译的时候就确定了。int a[10];但是在C99标准中规定可以定义一个变长的数组。int len;int a[len]这样可以让我们的数组在运行的时候再确定,这是变长。GUN C编译器支持这样定义int a[0];零长度数组不占用内存存储空间。可以用sizeog进行测试哦。零长度一般很少单独使用,常常作为结构体的一个成员,构成一个变长结构体。int len;int a[0];原创 2024-02-28 16:22:45 · 929 阅读 · 0 评论 -
底软基础 | 嵌入式程序员编程必看的525钟C/C++ 安全编程问题
360 安全规则集合》简称《安规集》,是一套详细的 C/C++ 安全编程指南,由 360 集团质量工程部编著,将编程时需要注意的问题总结成若干规则,可为制定编程规范提供依据,也可为代码审计或相关培训提供指导意见,旨在提升软件产品的可靠性、健壮性、可移植性以及可维护性,从而提升软件产品的综合安全性能。原创 2024-07-10 20:42:48 · 1697 阅读 · 1 评论 -
面试真题 | 操作系统中断知识
中断是计算机系统中的一种机制,用于在当前执行的程序或任务被中断处理程序(Interrupt Service Routine,ISR)中断执行时,响应和处理发生的事件或信号。:当进程遇到错误或异常情况时,操作系统可以向进程发送相应的信号,使得进程能够捕获并处理这些异常,保证程序的稳定性和可靠性。:操作系统可以向进程发送信号,通知其发生了某个特定的事件,如键盘输入、鼠标点击等。进程可以捕获这些信号并作出相应的响应。解释操作系统中的信号和信号处理程序的概念。请解释中断处理和中断服务程序的概念。原创 2024-07-10 09:24:58 · 1132 阅读 · 0 评论 -
面试真题 | ARM体系架构基础知识
是由ARM公司提出的一种片上总线协议和架构。它结合了Thumb指令集(16位指令)和ARM指令集(32位指令),使得处理器能够同时执行16位和32位指令,以适应不同的应用场景。在模式切换时,当前模式的寄存器状态将保存在相应的模式特定的寄存器集中,然后加载目标模式的寄存器状态。每个版本都对之前的版本进行了改进和扩展,以提供更高的性能、更丰富的功能和更好的能效。不同的字节序可能会影响数据的读取和存储,特别是在跨平台和数据交换的情况下。处理器模式:ARM处理器有多个处理器模式,每个模式用于执行不同类型的任务。原创 2024-07-09 23:14:21 · 517 阅读 · 0 评论 -
面试真题 | 操作系统基础知识
在软实时系统中,任务的截止期限是相对的,如果任务没有在截止期限内完成,系统可以继续运行,但可能会导致性能下降或质量降低。在硬实时系统中,任务的截止期限是绝对的,任务必须在其截止期限之前完成,否则会导致系统的故障或错误。例如,飞机在规定的时间内进行自动起飞、自动降落等任务。总体而言,硬实时系统对任务的截止期限有严格要求,必须在规定的时间内完成,而软实时系统的任务截止期限相对宽松,任务的延迟可以被容忍。在嵌入式系统中,电源管理是一种关键的技术,用于管理和控制系统的能源消耗,以提高系统的效率和延长电池寿命。原创 2024-07-10 09:23:54 · 693 阅读 · 0 评论 -
面试技巧 | 面试最后决赛圈谈薪资时候争取再多拿2K
其次如果是大厂的话,你的技术经过面试后,一般就会给你定级,这种一般是不会有太大的议价空间。因为整个薪资流程审批流程较为麻烦,而是大厂有庞大的人才库,她的鲁棒性会跟强。当然职场人都知道表达很重要的,而我们搞技术的性格会比较内敛,表达诉求不太熟练,因此这几点或许对咱们有帮助。找工作的时候想要再争取一个薪资增幅,到了HR面试的时候。还想再涨个2000元,也是有机会的。当然不要指望靠自己会说就拿到一个好的薪资,毕竟咱们搞技术的,原创 2024-06-23 11:12:27 · 317 阅读 · 0 评论 -
有薪职说 | 认识BMC工程师
板级管理控制器;服务器带外管理的核心部件;使用 IPMI 协议对外提供访问接口;原创 2024-06-03 10:20:59 · 2426 阅读 · 0 评论 -
面试宝典 | 关于面试/谈Offer/程序员职场生涯大全!
回答建议(仅供参考):自我介绍往往是面试的第一环节,好的自我介绍能够为你拿下颇具优势的第一印象分。个人经历,说清楚你的年龄,学历和从业经历。公司为什么要选你,你可以就应聘岗位中最重要的三个技能点说清楚你的相关经验。为什么选这家公司,可以就公司的产品、文化和影响力,选择一到两个点,着重说出你的选择理由。原创 2024-05-25 15:04:57 · 1575 阅读 · 0 评论 -
嵌入式C语言(十三)
下面是遍历链表的一个例子。原创 2024-04-11 16:52:54 · 780 阅读 · 0 评论 -
嵌入式C语言(十四)
在现代操作系统架构中,内核空间和用户空间之间增加了一个中间层,这就是系统调用层。系统调用层主要有如下作用。为用户空间程序提供一层硬件抽象接口。。例如,当需要读写一个文件时,应用程序编写者不用去关心磁盘类型和介质,以及文件存储在磁盘哪个扇区等底层硬件信息。保证系统稳定和安全。应用程序要访问内核必须通过系统调用层,那么,这样可以避免应用程序不正确地访问内核。可移植性。可以让应用程序在不修改源代码的情况下,原创 2024-04-11 16:52:47 · 755 阅读 · 0 评论 -
计算机专业在重庆就业岗位汇总
目录收起1.第一梯队2.第二梯队3.本人新增(私企)3.1外企3.2医疗器械类3.3汽车(私企)3.4软开与集成电路相关4.国企类4.1软开与集成电路相关4.1银行系统4.2证券、期货4.3保险公司4.4金融相关4.5汽车5.非主流出路。原创 2024-04-04 13:50:13 · 3141 阅读 · 0 评论 -
长沙有哪些比较好的企业值得推荐!
麓谷和马栏山有很多创业公司,不过工资就一般,但是也有精品,因为长沙离广深就是3个小时左右,所以很多拿了广深资金的互联网研发团队或者研发工作室,在长沙做开发,可能运营和营销还在北上广深杭,长沙仅仅做交付,这种待遇很不错。推荐:三一、中联、华菱、威胜、五矿、华融湘江、长沙银行、老百姓、爱尔眼科这些本土IT部门工作,待遇不错。这些都是在湖南有业务,成立办事处几十人到100-200号人不等,规模都不大,但是待遇不错。其中又是长沙本土,目前发展又有前途的,主推芒果TV和兴盛优选。原创 2024-04-04 13:15:19 · 2205 阅读 · 0 评论 -
嵌入式C语言(十一)
C99标准已经支持了这个特性,但是其他编译器不太给力,对C99标准的支持不是很好,只有GNU C标准支持这个功能,所以有时候我们也把这个可变参数宏看作GNU C标准的一个语法扩展。上面实现的LOG()变参函数,如果我们想使用一个可变参数宏实现,就可以直接这样定义。可变参数宏的实现形式其实和变参函数差不多:用…表示变参列表,变参列表由不确定的参数组成,各个参数之间用逗号隔开。原创 2024-03-22 13:24:10 · 1031 阅读 · 0 评论 -
嵌入式C语言(十)
内建函数,顾名思义,就是编译器内部实现的函数。**这些函数和关键字一样,可以直接调用,**无须像标准库函数那样,要先声明后使用。**内建函数的函数命名,通常以__builtin开头。**这些函数主要在编译器内部使用,主要是为编译器服务的。内建函数的主要用途如下。● 用来处理变长参数列表。● 用来处理程序运行异常、编译优化、性能优化。● 查看函数运行时的底层信息、堆栈信息等。● 实现C标准库的常用函数。原创 2024-03-22 13:23:58 · 829 阅读 · 0 评论 -
嵌入式C语言(九)
如果你曾经看过这个玩意,你会发现其很多的内联函数都在头文件中,为什么?还非得用个static修饰一下。因为它是一个内联函数,可以像宏一样使用,任何想使用这个内联函数的源文件,都不必亲自再去定义一遍,直接包含这个头文件,即可像宏一样使用。使用inline定义的内联函数,编译器不一定会内联展开,那么当一个工程中多个文件都包含这个内联函数的定义时,编译时就有可能报重定义错误。而使用static关键字修饰,则可以将这个函数的作用域限制在各自的文件内,避免重定义错误的发生。原创 2024-03-22 13:23:47 · 881 阅读 · 0 评论 -
嵌入式C语言(八)
在链接阶段,链接器会到其他文件中找这些符号的定义,若未找到,则报未定义错误。当函数被声明为一个弱符号时,会有一个奇特的地方:当链接器找不到这个函数的定义时,也不会报错。编译器会将这个函数名,即弱符号,设置为0或一个特殊的值。只有当程序运行时,调用到这个函数,跳转到零地址或一个特殊的地址才会报错,产生一个内存错误。为了防止函数运行出错,我们可以在运行这个函数之前,先进行判断,看这个函数名的地址是不是0,然后决定是否调用和运行,这样就可以避免段错误了。原创 2024-03-12 10:52:09 · 607 阅读 · 0 评论 -
嵌入式C语言(七)
这个作用其实就是自定义打印。因为我们在项目中需要实现一些自定义的调试函数。用户在调用这些接口函数时参数往往不固定,所以就需要用到这个format属性现在来解释解释上面的代码:定义一个LOG()变参函数,用来实现日志打印功能。编译器在编译程序时,如何检查LOG()函数的参数格式是否正确呢?方法其实很简单,通过给LOG()函数添加__attribute__((format(printf,1,2)))属性声明就可以了。这个属性声明告诉编译器:你知道printf()函数不?原创 2024-03-12 10:51:47 · 920 阅读 · 0 评论 -
嵌入式C语言(六)
于是我们可以对结构体加packed属性,保证每个结构体的成员是连续的。原创 2024-03-11 12:28:34 · 968 阅读 · 0 评论 -
嵌入式C语言(五)
我知道不耻下问是个好事,而且身边那么多大牛,不能算不耻,但是把一些能自己学习搞定的事情,拿去打扰别人,我觉得一点也不酷。原创 2024-03-11 12:28:23 · 930 阅读 · 0 评论 -
嵌入式C语言(三)
这里需要你先知道结构体怎么存储的。结构体作为一个复合类型数据,它里面可以有多个成员。当我们定义一个结构体变量时,编译器要给这个变量在内存中分配存储空间。根据每个成员的数据类型和字节对齐方式,编译器会按照结构体中各个成员的顺序,在内存中分配一片连续的空间来存储它们。将数字0通过强制类型转换,转换为一个指向结构体类型为student的常量指针,然后分别打印这个常量指针指向的各成员地址。运行结果如下。因为常量指针的值为0,即可以看作结构体首地址为0。原创 2024-02-26 22:42:33 · 1469 阅读 · 0 评论 -
嵌入式C语言(二)
提起宏,脑子里第一时间想到的就是但是最近在看Linux内核代码的时候,我简直了,各种花里胡哨的宏定义,我只能说有点东西。这里的宏加入了语句表达式,一下子宏就变得精彩了。x : y那么我们来测试一下?=1,1!=2)如,测试第4行语句,当宏的参数是一个表达式,发现实际运行结果为max=0,和我们预期结果max=1不一样。这是因为,宏展开后,变成如下样子。=1 > 1!=2?1!=1: 1!=2);因为**比较运算符>的优先级为6,大于!原创 2024-02-26 22:42:18 · 663 阅读 · 0 评论 -
嵌入式C语言(一)
最初我是golang出生,当时做项目的时候java、c++、js、python都折腾过,但是关于c语言的接触,基本上都停留在大一的那个暑假。后面一个项目需要写驱动,再到后门需要做DFX,再到我打开内核的源码,我一脸懵逼,这都是啥?说它不是c吧,这玩意又在.c文件放着,说它是吧,这都是啥,。因为内核和底层是挨着很近的,所以在靠近这个地方,,下面一起来瞅瞅?学了这个,可以帮助我们在阅读内核代码的障碍大大减退,而Linux这谁能避开不用呢?原创 2024-02-26 21:42:25 · 704 阅读 · 0 评论