面试
文章平均质量分 64
Adrian503
中国科学院大学计算机硕士,研究领域Linux内核、嵌入式软件、BSP等。
展开
-
面试 -> 使用一个循环合并两个有序数组为1个有序数组
问题:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空间容纳A2。请实现一个函数,把A2中所有数字插入A1中,并且所有的数字是排序(默认升序)的。 思路:在合并两个数组(包括字符串)时,从前往后复制每个数字(或字符)则需要重复移动数字(或字符)多次,则考虑从后往前复制就可以减少移动的次数,从而提高效率。 1.n1,n2分别指向数组A1和A2的尾部,strNew指向合并后的数组的尾部; 2.当数组名是一个nullptr指针,或者A1数组是一个空数组则返回; 3.当数组A1[ida]>=A2[原创 2021-03-31 10:59:50 · 334 阅读 · 0 评论 -
嵌入式linux面试遇到的几个问题
(一) 并发和互斥相关 [纵目科技/飞凌科技] 1、驱动里为什么要有并发、互斥的控制? 内核中的很多事情是需要多线程、多进程来实现的,并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(raceconditions)。 解决竞态问题的途径是保证对共享资源的互斥访问,所谓互斥访问就是指一个执行单元在访问共享资源的时候,其他的执行单元都被禁止访问。 ...原创 2021-03-27 21:45:33 · 715 阅读 · 0 评论