2025年广西天道信息技术有限公司校招笔试题带答案_第1页
2025年广西天道信息技术有限公司校招笔试题带答案_第2页
2025年广西天道信息技术有限公司校招笔试题带答案_第3页
2025年广西天道信息技术有限公司校招笔试题带答案_第4页
2025年广西天道信息技术有限公司校招笔试题带答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年广西天道信息技术有限公司校招笔试题带答案一、专业基础题(共10题,每题5分)1.简述操作系统中进程与线程的本质区别,并说明在微服务架构中为何更倾向于使用多线程而非多进程实现服务实例扩展。答案:进程是资源分配的基本单位,拥有独立的内存空间、文件描述符等资源;线程是CPU调度的基本单位,共享所属进程的资源。微服务架构中,多线程相比多进程的优势在于:(1)线程创建/切换开销远小于进程(无需分配新内存空间);(2)线程间通信通过共享内存实现,效率高于进程间的IPC(如管道、消息队列);(3)资源占用更少,相同硬件下可运行更多线程实例,提升服务吞吐量。2.给定一棵二叉树的中序遍历序列为DBEAFC,后序遍历序列为DEBFCA,画出该二叉树的结构,并写出其前序遍历序列。答案:二叉树结构如下:根节点为A,左子树中序序列DBE、后序DEB(根为B),B的左子树中序D、后序D(根D),B的右子树中序E、后序E(根E);右子树中序FC、后序FC(根C),C的左子树为空,右子树为空。前序遍历序列为ABDECF。3.设计一个SQL查询,从订单表(order)中统计2024年第四季度每个客户(customer_id)的订单总金额(amount),要求排除金额小于100元的订单,且结果按总金额降序排列。表结构:order_id(主键),customer_id,order_date,amount。答案:```sqlSELECTcustomer_id,SUM(amount)AStotal_amountFROMorderWHEREorder_dateBETWEEN'2024-10-01'AND'2024-12-31'ANDamount>=100GROUPBYcustomer_idORDERBYtotal_amountDESC;```4.简述TCP三次握手的具体过程,并说明第三次握手的必要性。答案:三次握手过程:(1)客户端发送SYN=1,seq=x的连接请求;(2)服务器回复SYN=1,ACK=1,seq=y,ack=x+1的确认;(3)客户端发送ACK=1,seq=x+1,ack=y+1的最终确认。第三次握手的必要性:防止失效的连接请求报文段被服务器接收并建立错误连接。若客户端第一次发送的SYN在网络中滞留,客户端超时后重发SYN并建立连接,滞留的SYN后到达服务器,若没有第三次握手,服务器会直接确认并分配资源,导致资源浪费。5.分析快速排序在最坏情况下的时间复杂度,并说明如何避免这种情况。答案:最坏情况时间复杂度为O(n²),发生在每次划分选取的基准元素为当前子数组的最大或最小值(如已排序数组选第一个元素为基准)。避免方法:(1)随机选择基准元素(随机化快速排序);(2)三数取中法(选取首、中、尾三个元素的中位数作为基准);(3)当子数组长度小于阈值时(如10),切换为插入排序,减少递归深度。6.简述Java中接口(Interface)与抽象类(AbstractClass)的核心区别,并举例说明各自适用场景。答案:核心区别:(1)接口支持多实现,抽象类只能单继承;(2)接口中方法默认publicabstract(Java8前无方法体),抽象类可包含具体方法;(3)接口不能定义实例变量(只能staticfinal常量),抽象类可定义普通成员变量。适用场景:接口用于定义行为规范(如Runnable定义线程执行行为);抽象类用于抽取公共实现(如HttpServlet实现了部分HTTP请求处理逻辑,子类只需重写doGet/doPost)。7.给定一个长度为n的整数数组,设计一个时间复杂度为O(n)的算法,找出其中出现次数超过n/2的元素(主元素)。答案:摩尔投票法:初始化候选元素为第一个元素,计数器为1;遍历数组,遇到相同元素计数器+1,不同则-1;计数器为0时更新候选元素为当前元素并重置计数器为1。最终候选元素即为可能的主元素,需二次遍历验证是否超过n/2次(因可能不存在主元素时算法仍会返回候选)。8.简述HadoopMapReduce中Shuffle阶段的主要任务,并说明如何优化该阶段的性能。答案:Shuffle阶段任务:(1)Map端对输出数据分区(Partition)并排序;(2)通过网络将数据拉取到Reduce端;(3)Reduce端对数据合并(Merge)并按键分组。优化方法:(1)压缩Map输出(如使用Snappy压缩减少网络传输量);(2)调整分区数(合理设置numReduceTasks,避免过多小文件);(3)增大Map端缓冲区大小(io.sort.mb参数),减少磁盘溢写次数;(4)启用Combiner(在Map端提前聚合,减少传输数据量)。9.解释机器学习中过拟合(Overfitting)的概念,并列举三种常用的解决方法。答案:过拟合指模型在训练集上表现优异,但在未见过的测试集上泛化能力差的现象,通常因模型复杂度过高或训练数据量不足。解决方法:(1)正则化(L1/L2正则化,增加模型复杂度惩罚项);(2)早停法(EarlyStopping,在验证集性能不再提升时停止训练);(3)数据增强(增加训练数据的多样性,如图像旋转、翻转);(4)特征选择(减少冗余特征,降低模型输入维度)。10.简述RESTfulAPI设计中资源(Resource)的定义及常见的HTTP方法映射规则。答案:资源是API操作的核心实体,通过统一资源标识符(URI)定位,如/orders/{orderId}表示单个订单资源。HTTP方法映射:GET(获取资源)、POST(创建资源)、PUT(完整更新资源)、PATCH(部分更新资源)、DELETE(删除资源)。二、编程题(共3题,每题20分)1.编写一个Python函数,输入为一个字符串s(仅包含小写字母),输出为s的最长回文子串。要求时间复杂度不超过O(n²)。答案:```pythondeflongest_palindrome(s:str)->str:ifnots:return""n=len(s)max_len=1start=0中心扩展法foriinrange(n):奇数长度回文l,r=i,iwhilel>=0andr<nands[l]==s[r]:ifrl+1>max_len:max_len=rl+1start=ll-=1r+=1偶数长度回文l,r=i,i+1whilel>=0andr<nands[l]==s[r]:ifrl+1>max_len:max_len=rl+1start=ll-=1r+=1returns[start:start+max_len]```2.给定一个整数数组nums和一个整数k,编写Java方法返回数组中是否存在两个不同的索引i和j,使得nums[i]=nums[j]且|i-j|≤k。要求空间复杂度不超过O(k)。答案:```javapublicbooleancontainsNearbyDuplicate(int[]nums,intk){Set<Integer>window=newHashSet<>();for(inti=0;i<nums.length;i++){if(window.contains(nums[i])){returntrue;}window.add(nums[i]);if(window.size()>k){window.remove(nums[ik]);}}returnfalse;}```3.设计一个算法,将给定的二叉树转换为其镜像二叉树(左右子树交换)。要求使用递归和迭代两种方式实现(语言任选)。答案(Python递归):```pythonclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightdefmirror_tree_recursive(root:TreeNode)->TreeNode:ifnotroot:returnNone交换左右子树root.left,root.right=root.right,root.leftmirror_tree_recursive(root.left)mirror_tree_recursive(root.right)returnroot```迭代实现(广度优先):```pythondefmirror_tree_iterative(root:TreeNode)->TreeNode:ifnotroot:returnNonequeue=[root]whilequeue:node=queue.pop(0)交换左右子节点node.left,node.right=node.right,node.leftifnode.left:queue.append(node.left)ifnode.right:queue.append(node.right)returnroot```三、逻辑与数学题(共5题,每题6分)1.数列推理:2,5,14,41,122,(),括号中应填什么数?答案:365。规律:后项=前项×3-1(5=2×3-1,14=5×3-1,41=14×3-1,122=41×3-1,122×3-1=365)。2.甲、乙、丙三人中,只有一人会编程。甲说:“我会编程。”乙说:“甲不会编程。”丙说:“我不会编程。”已知三人中只有一人说真话,请问谁会编程?答案:丙会编程。假设甲说真话→甲会编程,则乙说假话(甲会编程),丙说假话(丙会编程),矛盾(甲、丙都会)。假设乙说真话→甲不会编程,甲说假话(甲不会),丙说假话(丙会编程),符合条件(仅乙说真话,丙会编程)。假设丙说真话→丙不会编程,甲说假话(甲不会),乙说假话(甲会),矛盾(甲既会又不会)。3.一个正方体的六个面分别涂有红、黄、蓝、绿、黑、白六种颜色。根据以下条件,判断黄色面的对面是什么颜色:(1)红色面旁边是黑色和白色;(2)蓝色面与绿色面相邻;(3)黑色面与绿色面不相邻;(4)白色面与蓝色面不相邻。答案:蓝色。推理:由(1)红与黑、白相邻→红对面非黑、白;由(2)蓝与绿相邻→蓝对面非绿;由(3)黑与绿不相邻→黑对面可能是绿或蓝;由(4)白与蓝不相邻→白对面可能是蓝或绿。假设红对面是黄(剩余颜色为蓝、绿、黑、白),则黑、白、蓝、绿需分布在红周围。由(1)红邻黑、白,剩余邻面为蓝或绿。由(2)蓝邻绿→蓝、绿需相邻,若红邻蓝,则绿需与蓝相邻(可能在红的另一个邻面),但(3)黑与绿不相邻→黑对面不能是绿,故黑对面是蓝,白对面是绿。此时黄对面为蓝,验证所有条件成立。4.某公司有100名员工,60人会Python,40人会Java,20人既会Python又会Java。随机选一名员工,求其至少会一种语言的概率。答案:0.8。至少会一种的人数=60+40-20=80,概率=80/100=0.8。5.观察图形规律,选择下一个图形:(图形描述:第一行三个图形分别为○●○,第二行●○●,第三行○●○,问第四行?)答案:●○●。规律:每行图形为上一行取反(○变●,●变○),第一行○●○→第二行●○●→第三行○●○→第四行●○●。四、综合分析题(共2题,每题15分)1.2023年广西获批建设面向东盟的数字经济合作试验区,公司作为广西本土信息技术企业,计划布局跨境电商大数据平台。请分析该平台需解决的核心问题,并提出至少3项技术解决方案。答案:核心问题:(1)多源异构数据整合(东盟国家电商平台、物流、支付系统数据格式差异大);(2)跨境数据合规性(需符合中国《数据安全法》及东盟各国数据隐私法规);(3)实时需求预测(东南亚市场消费习惯波动快,需快速响应)。技术方案:(1)基于ApacheKafka的实时数据管道,支持JSON、XML、CSV等多格式数据接入,通过Flume进行清洗转换;(2)构建数据合规引擎,集成GDPR(欧盟)、PDPA(泰国)等法规规则库,自动识别敏感数据并加密脱敏(如SM4加密、哈希匿名化);(3)采用深度学习模型(如LSTM+Attention)预测商品销量,结合东盟节假日(如开斋节、泼水节)时间序列数据优化训练集,提升预测准确率至90%以上。2.假设你是公司校招面试官,需评估一名计算机专业应届生的岗位适配度。请列出5项关键评估维度,并说明每个维度的具体考察方式。答案:(1)专业基础:考察数据结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论