版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
传音控股技术岗笔试真题(含详细答案解析)适用岗位:软件开发、嵌入式、终端技术、后端开发通用岗考试时长:90分钟总分:100分题型分布:单选10题、多选4题、代码改错2题、编程2题、主观问答2题一、单项选择题(共10题,每题3分,共30分)1、C语言中,以下关于结构体的说法正确的是()A、结构体成员必须是相同数据类型B、结构体变量可以直接整体比较C、结构体存在内存对齐机制,占用空间不一定等于成员变量空间之和D、结构体不能嵌套定义答案:C解析:结构体核心特性为内存对齐,编译器会自动补齐内存空间,提升访问效率,因此总占用内存大于等于所有成员内存之和。A错误,结构体成员支持不同数据类型;B错误,结构体不支持直接==比较,需逐个成员比对;D错误,结构体支持嵌套定义。2、以下TCP协议中,用于主动关闭连接的报文段标志位是()A、SYNB、FINC、ACKD、RST答案:B解析:FIN位代表请求关闭连接,对应TCP四次挥手流程。SYN用于建立连接三次握手;ACK为确认应答;RST用于强制断开异常连接。3、数组长度为10,下标0-9,若访问array[10],会发生()A、编译报错B、运行越界访问C、自动截断D、程序无影响答案:B解析:C语言不会对数组下标做边界检查,编译可正常通过,运行时会访问数组之外的非法内存,造成内存越界,大概率引发程序崩溃、数据错乱问题。4、操作系统中,进程和线程的核心区别是()A、线程代码更短B、进程拥有独立内存空间,线程共享所在进程内存C、线程执行速度更快,进程无优先级D、进程可独立调度,线程不能被调度答案:B解析:进程是资源分配的最小单位,拥有独立的地址空间、堆、全局变量等资源;线程是CPU调度的最小单位,同一进程内的所有线程共享进程的内存资源,切换开销远小于进程。5、以下不属于链表特性的是()A、动态内存分配,无固定长度限制B、随机访问效率高,可通过下标直接取值C、插入、删除节点效率优于数组D、每个节点需存储数据与指针域,存在内存冗余答案:B解析:链表只能从头节点依次遍历查找数据,不支持随机访问,时间复杂度O(n);数组支持下标随机访问,时间复杂度O(1)。链表的核心优势是动态扩容、增删节点无需移动大量元素。6、Android系统中,四大组件不包含以下哪个()A、ActivityB、ServiceC、HandlerD、BroadcastReceiver答案:C解析:Android四大组件为Activity、Service、BroadcastReceiver、ContentProvider。Handler是消息通信机制,用于线程间消息传递,不属于四大组件。7、以下排序算法中,时间复杂度最优且稳定的是()A、快速排序B、冒泡排序C、归并排序D、选择排序答案:C解析:归并排序平均、最坏时间复杂度均为O(nlogn),且是稳定排序;快速排序最坏复杂度O(n²),不稳定;冒泡、选择排序复杂度均为O(n²),效率更低。8、SQL语句中,用于去重的关键字是()A、DISTINCTB、UNIQUEC、REMOVED、DELETE答案:A解析:DISTINCT用于查询结果去重;UNIQUE是数据库字段约束,限制字段唯一,并非查询去重关键字;DELETE用于删除数据。9、嵌入式开发中,volatile关键字的主要作用是()A、变量只读不可修改B、禁止编译器优化,每次从内存读取数据C、定义常量D、提升变量运算速度答案:B解析:嵌入式硬件寄存器、多线程共享变量需用volatile修饰,避免编译器优化导致变量读取缓存数据,保证每次直接从原始内存地址读取最新值。10、传音旗下主打海外中高端市场的手机品牌是()A、itelB、TECNOC、InfinixD、OPPO答案:B解析:传音三大手机品牌定位清晰,TECNO主打中高端市场、Infinix主打年轻潮流市场、itel主打入门性价比市场。二、多项选择题(共4题,每题4分,共16分,多选、少选、错选不得分)1、以下属于HTTP请求方法的有()A、GETB、POSTC、PUTD、DELETE答案:ABCD解析:HTTP标准常用方法包含GET(查询)、POST(提交)、PUT(更新)、DELETE(删除),覆盖接口增删改查核心场景。2、以下会造成内存泄漏的场景有()A、动态malloc内存后,未执行free释放B、程序异常退出,未手动释放内存C、全局指针指向堆内存,生命周期内未释放D、局部变量定义在栈区,函数结束自动回收答案:AC解析:堆内存需手动申请手动释放,未释放会造成内存泄漏;栈内存由系统自动回收,无泄漏问题。程序进程退出后,系统会自动回收所有占用内存,不会产生持续泄漏。3、链表相比于数组的优势有()A、动态扩容灵活,无需提前分配固定空间B、头部、中间节点增删效率更高C、遍历查询速度更快D、内存利用率更高,无空间浪费答案:AB解析:链表无需预分配内存,按需申请,增删节点仅需修改指针,无需移动元素;但链表需存储指针域,存在少量内存冗余,且遍历查询效率远低于数组。4、以下关于栈和队列说法正确的有()A、栈遵循先进后出规则B、队列遵循先进先出规则C、函数调用、递归场景依赖栈结构D、消息排队处理可使用队列结构答案:ABCD解析:栈(LIFO)常用于函数调用栈、括号匹配、递归回溯;队列(FIFO)常用于消息队列、任务排队、缓冲区数据处理,四个选项描述均正确。三、代码改错题(共2题,每题7分,共14分)题目1:找出1-100数组中缺失的一个数字,找出代码错误并修正c
intsearchData(intarray[99]){
inti=0,sum=0;
for(i=0;i<99;i++){
sum+=array[i];
}
return5050-sum;
}错误分析与修正答案:1、隐性问题:函数参数数组传参退化为指针,原代码无语法错误,但工程场景存在隐患;核心逻辑数学计算无误,1-100累加和固定为5050,99个数字求和后差值即为缺失数字。2、规范优化修改(笔试核心得分点):增加数组长度参数,提升代码通用性,避免固定长度硬编码,适配工程开发规范。c
intsearchData(intarray[],intlen){
inti=0,sum=0;
for(i=0;i<len;i++){
sum+=array[i];
}
//1~100总和固定
return5050-sum;
}题目2:以下代码实现交换两个整数,找出错误并修正c
voidswap(inta,intb){
inttemp=a;
a=b;
b=temp;
}错误分析与修正答案:1、核心错误:函数传参为值传递,仅交换函数内部局部变量的值,不会影响外部实参,无法实现真正交换。2、修正方案:改为指针传参,操作实参内存地址,实现数据交换。c
voidswap(int*a,int*b){
inttemp=*a;
*a=*b;
*b=temp;
}四、编程题(共2题,每题15分,共30分)题目1:删除链表倒数第N个节点(传音高频真题)给定一个单向链表的头节点,删除链表倒数第n个节点,返回修改后的链表头节点。要求时间复杂度优先,尽量一次遍历完成。解题思路:快慢指针法,快指针先行n步,之后快慢指针同步遍历,快指针到末尾时,慢指针指向倒数第n个节点的前驱节点,直接删除目标节点。完整C代码答案c
//定义链表节点
structListNode{
intval;
structListNode*next;
};
structListNode*removeNthFromEnd(structListNode*head,intn){
//虚拟头节点,规避删除头节点的特殊情况
structListNode*dummy=(structListNode*)malloc(sizeof(structListNode));
dummy->next=head;
structListNode*fast=dummy,*slow=dummy;
//快指针先走n步
for(inti=0;i<n;i++){
fast=fast->next;
}
//快慢指针同步后移
while(fast->next!=NULL){
fast=fast->next;
slow=slow->next;
}
//删除目标节点
structListNode*temp=slow->next;
slow->next=temp->next;
free(temp);
returndummy->next;
}考点解析:考察链表操作、快慢指针算法、边界条件处理(空链表、删除头节点、单节点链表),是传音笔试必考链表题型。题目2:最长回文子串给你一个字符串s,找到s中最长的回文子串。回文子串指正读和反读完全相同的子字符串。解题思路:中心扩散法,回文串存在奇数、偶数两种中心,遍历每个字符,向左右扩散匹配,记录最长回文子串。完整C代码答案c
#include<string.h>
//中心扩散,返回当前中心的回文长度
intexpand(char*s,intleft,intright){
while(left>=0&&right<strlen(s)&&s[left]==s[right]){
left--;
right++;
}
returnright-left-1;
}
char*longestPalindrome(char*s){
if(s==NULL||strlen(s)<1)return"";
intstart=0,end=0;
for(inti=0;i<strlen(s);i++){
//奇数长度回文
intlen1=expand(s,i,i);
//偶数长度回文
intlen2=expand(s,i,i+1);
intmaxLen=len1>len2?len1:len2;
//更新最长回文区间
if(maxLen>end-start){
start=i-(maxLen-1)/2;
end=i+maxLen/2;
}
}
//截取结果字符串
char*res=(char*)malloc(end-start+2);
strncpy(res,s+start,end-start+1);
res[end-start+1]='\0';
returnres;
}考点解析:字符串处理、双指针思想,时间复杂度优于暴力遍历,符合企业笔试效率要求,是传音近年高频编程题。五、主观问答题(共2题,每题5分,共10分)1、简述TCP三次握手、四次挥手的过程,以及为什么握手三次、挥手四次?参考答案:三次握手:第一次客户端发送SYN请求连接;第二次服务端回复SYN+ACK确认收到请求并同意连接;第三次客户端发送ACK确认收到服务端应答,连接建立。四次挥手:客户端发送FIN请求关闭连接;服务端回复ACK确认收到关闭请求;服务端数据传输完毕后,发送FIN请求关闭服务端连接;客户端回复ACK确认,双方连接彻底断开。原因:握手只需同步双方接收、发送能力,三次即可完成校验,两次握手无法确认客户端接收能力,会造成服务端资源浪费;挥手是全双工通道,双方均可独立收发数据,需分步关闭各自通道,因此需要四次交互。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西自贸区医院2027届高校应届毕业生招聘笔试备考题库及答案解析
- 2026台安县新公益性岗位招聘32人笔试模拟试题及答案解析
- 2026年推拉门行业洞察报告及未来五至十年发展趋势报告
- 2026丰都县面向社会公开招聘社区工作者22人笔试模拟试题及答案解析
- 2026黑龙江双鸭山集贤县公益性岗位招聘5人笔试参考题库及答案解析
- 2026年酒钢培训模拟试卷及参考答案
- 2026年VOIP网关行业洞察报告及未来五至十年发展趋势报告
- 2026年释迦行业洞察报告及未来五至十年发展趋势报告
- 2026年常规病理技术模拟试题(含答案)
- 2026年旅游专升本实操模拟试卷及答案
- GJB3206B-2022技术状态管理
- 《平行四边形的性质(第一课时)》教案
- 《冠状动脉介入治疗并发症》课件
- 核反应堆物理分析教材谢仲生修订版
- 嘉兴怡麦食品有限公司年产 980 吨营养面包项目环评报告
- 低血糖临床表现及处理措施
- 隐睾围手术期
- 国有资产报废回收合同范本
- 低压电工作业题库低压电工实操考试题库
- 场地设计-第二章课件
- 教科版科学三年级上册第三单元《天气》单元作业设计
评论
0/150
提交评论