百度2012研发工程师笔试卷

1.判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。

2.用C语言写一个函数来执行一串任务。任务是互相依赖的。比如B任务依赖A任 务,则A完成B才能执行。不考虑并发限制,假设所有的任务都能一次执行成功,所有的任务执行时间都相等。任务数据结构原型为:

typedef struct {
 //该任务的 ID
 int id;
 //该任务依赖的任务的 ID
 int *child;
 //该任务依赖的任务个数
 int child_num;
} task;

// 函数原型:
bool doschedule(task*pask,inttask_num);

//以下函数可以直接调用:
void dotask(int id); //执行一个进程

//等待 timeout 时间,并返回一个执行成功的任务的 id,如果没有任务在时间片内完成,则返回-1
int waittask(int timeout);

bool killtask(int id); //杀掉一个进程。

3.说明以下包含const修饰符的语句的意义
a). double * ptr=&value;
b). const double * ptr=&value; 
c). double *constptr =&value;
d).const double *const ptr=&value;

4.阐述栈和堆在生命周期、速度、内存性能等方面的不同点。假如现在有一个缓冲 区域绝大多数只需要1KB空间,极少数极端情况下需要100MB,怎么样合理分配内存?

5.请问c语言中怎么去除const修饰?比如:const double value=0.2f;double *ptr;ptr 怎么样获取 value 的值?

6.百度的某服务机制类似于CS(customer-server),有时候大量用户访问服务器S,导致S运行效率缓慢。为了提升效率,拟在
C上利用一些空余的结果空间作为缓存。已知在C的一台客户机上,每天接收1000w query,其中500w uniq query,每个query 5KB,客户机内存3GB,硬盘 500GB。做出一个方案,说明系统结构、存储结构、性能优化等方面的设计。

7.在一维坐标轴上存在许多条线段,用最简单的算法找出重合长度最长得两条线段。比如线段A(1,5)、B(2,8)、C(3,9),则B和C的重合长度最长,为 5。

参考答案:https://download.csdn.net/download/weixin_39813541/11153335

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 作为一名mcu研发工程师,面试可能会被问到许多与技术相关的问题,例如芯片设计、控制系统、嵌入式编程等。在面试过程中,应该展现出自己的技术专业知识和实践经验,同时也需要具备较强的逻辑思考和问题解决能力。 常见的mcu研发工程师面试题包括: 1. 请简单介绍一下你对mcu的认识以及在研发中的应用。 2. 请谈谈你对嵌入式系统的理解和应用。 3. 如何实现低功耗嵌入式系统的设计? 4. 如何解决mcu应用中的时序和同步问题? 5. 如何进行mcu系统的调试和优化? 6. 请介绍一下你在mcu开发项目中的经验。 7. 请分享一份你开发的mcu应用程序及其实现过程。 面试时应该准备好自己的技术知识和技能,展现出自己的专业水平。除此之外,还应该对公司的业务、团队文化等有一定了解,表现出自己的团队合作和沟通能力,证明自己是一名具备技术实力和团队合作精神的优秀研发工程师。 ### 回答2: 作为一名MCU研发工程师,您需要具备什么技术和能力? 首先,作为一名MCU研发工程师,您需要具备扎实的电子技术和相关专业知识,例如单片机原理、模拟电路设计、数字电路设计、通信协议等。这些专业知识是您进行MCU研发的基础,因此您需要通过专业的教育背景和实践经验来掌握这些知识。 其次,您需要具备较强的编程和软件开发能力。MCU的研发过程中需要编写代码实现各种功能,因此您需要熟练掌握编程语言(如C、C++、汇编语言等)、代码调试和优化方法等方面的技能,以确保您的代码能够高效、可靠地运行。 还需要具备良好的团队协作能力。MCU研发往往涉及到多个领域,例如硬件设计、软件开发、测试验证等,因此您需要能够与团队成员进行有效的沟通和协作,共同完成项目。 最后,您需要具备钻研精神和创新能力。MCU技术的发展一直在不断变化和更新,因此您需要保持学习和探索的态度,关注最新的技术趋势和研究成果,不断推陈出新,为公司的产品提供更好的解决方案。 ### 回答3: 1. MCU 是什么?请解释其基本概念和性质。 MCU 全名为 Microcontroller Unit(微控制器单元),是一种包含 CPU、RAM、ROM、I/O 端口和一些特殊功能模块的嵌入式系统。MCU 是一种专门针对控制和监测任务而设计的芯片,它的性能和成本相对于传统的 CPU 更优越,且能够更好地满足特定应用的需求。MCU 通常运行在更低的时钟频率下,并具有更少的存储器和外设资源,它们更适合于实时性要求较高的应用场合。 2. 请列举 MCU 应用领域,以及不同领域应用的特点。 MCU 广泛应用于飞行控制、家电控制、汽车电子、智能家居、安防监控、医疗器械等领域。各个应用领域的 MCU 存在一定的差异,主要表现在以下两个方面: (1)体积和功耗:汽车电子、医疗器械等应用领域对 MCU 体积和功耗要求比较高,而相对于家电控制和安防监控,这些领域的应用对系统的高可靠性和实时性要求更加严格。 (2)通讯协议:不同的应用领域通常都有特定的通讯协议,如家电控制一般采用红外通讯技术,而汽车电子则通常采用 CAN 总线协议。 3. 请描述一下你的 MCU 研发项目经验,主要负责了哪些方面? 我曾经参与了一款基于 STM32F103 的智能家居系统的开发工作。我的主要工作包括了 MCU 程序设计、硬件电路设计、模块测试和功能实现。具体来说,我负责 MCU 软件代码的编写和调试、系统资源的管理、外设的驱动开发、通讯协议的设计和开发,以及硬件电路的设计和优化等方面。经过充分的策划和开发,我们成功地完成了这款智能家居系统的设计和实现,其主要特点包括长距离通讯、多种传感器、实时控制等。此项目也获得了用户的高度评价和好评。 4. 请介绍一下你对 MCU 软件设计和开发的理解和方法? MCU 软件开发是一项相对复杂的工程,它需要我们对系统的全部进行充分的理解和把握,同时要能够合理分配系统的所有资源,进而实现功能的完备和高效运行。在软件开发过程中,我们应该首先注意系统的可扩展性和模块化重用,结合具体应用场景,使用常见的设计模式进行软件分层和设计,保证代码的质量和可维护性,进而提高开发效率和软件实现的可靠性。同时,我们应该注意系统的实时性和稳定性,在设计和开发过程中要注重系统可调试性和可测试性,为后期的测试和维护提供方便,确保软件在各种工作环境下的高可靠性和优秀性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值