TT-2014 研发笔试题

2024-06-22 22:32
文章标签 笔试 研发 2014 tt

本文主要是介绍TT-2014 研发笔试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 在一个单链表中,若p所指的结点不是最后结点,在p所指结点之后插进s所指结点,则应执行操作 ()
【解析】
s->next=p->next;p->next=s

2 在下列排序方法中,不稳定的方法有()
【解析】
不稳定排序的意思是在排序过程中,相等的两个数比较之后不会改变其原来的位置,即不需要交换。
常见的稳定排序有:
冒泡排序,插入排序,归并排序,基数排序。
常见的不稳定排序有:
选择排序,堆排序,希尔排序,快速排序。



3 在多级存储体系中,“Cache-主存”结构的作用是解决( )的题目。
【解析】
存储系统分层方面的内容,“Cache-主存”结构的作用是解决主存与CPU速度不匹配。

4 在需要经常查找结点的先驱与后继的场合中,使用( )比较合适。
【解析】
双向链表

5 带头结点的单链表head为空的判定条件( )
【解析】
head->next==NULL

6 将一个递归算法改为对应的非递回算法时,通常需要使用的数据结构是( )。
【解析】


7 SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现( )功能。
【解析】
控制就是修改表的字段类型,约束,关系。而操作就是INSERT、DELETE、UPDATE数据等。
DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:Insert、delete、update
DCL:数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select
答:数据操纵


8 设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m>0)个叶子结点,那么该二叉树上的结点总数为( )。
【解析】
树的分支数 = 度数为2的节点数*2 + 度数为1的节点数
树的分支数 = 树的节点数 - 1
树的节点数 = 度数为1的节点+度数为2的节点 + 度数为0的节点,
该树的度数为1的节点不存在
综合以上三个公式得到答案:2m-1

9 TCP/IP协议栈的网络层的主要功能是通过( )来完成的。
【解析】
网络层是IP协议,TCP协议是传输层。

10 实现不同的作业处理方式(如:批处理、分时处理、实时处理等),主要是基于操作系统对()治理采取了不同的策略。
【解析】
实现不同的作业处理方式(如批处理、分时处理、实时处理等),主要是基于操作系统对处理机管理采用了不同的策略


11 下面关于编译系统和解释系统的观点中,错误的是
A.解释程序不产生目标代码,它直接执行源程序或源程序的内部形式
B.使用编译系统时会区分编译阶段和运行阶段
C.一般来说,编译系统的比较复杂,开发和维护费用都大。相反,解释系统比较简单,可移植性好,适合于以交互形式执行程序
D.一般来说,建立在编译基础上的系统在执行速度上要优于建立在解释执行基础上的系统
【解析】
解释程序不产生目标代码,它直接执行源程序或源程序的内部形式是错误的。


12 散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址。由于散列函数不是一对一的关系,所以选择好的( )方法是散列文件的关键。
【解析】
(1)选择一个Hash函数,使得每个键字能有一个唯一的地址;
(2)当不同键字具有相同的地址,此时选择一种冲突处理方法至关重要
详见哈希函数文。


13 衡量查找算法效率的主要标准是( )。
【解析】
平均查找长度。

14 对于#include   <filename.h> 和 #include “filename.h”,以下说法错误的是( )。
A.#include <filename.h>只搜索标准库路径
B.#include “filename.h”只搜索用户工作路径
C.#include <filename.h>搜索范围比#include “filename.h”小
D.两者可能等价
【解析】
#include<>只搜索标准库路径;#include""从当前工作路径开始搜索,然后扩展到标准库路径。
答:B


15 类定义的外部,可以被访问的成员有( )。
A.所有类成员
B.private或protected的类成员
C.public的类成员
D.public或private的类成员
【解析】
public: 公有访问,类外部可访问;
private:私有访问,类本身成员函数可访问;
protected:保护访问,类本身以及派生子类可访问;
这个问题有歧义,外部的友元都可以访问。什么叫类定义外部呢,构造函数能不能在外边写函数体啊,搞不懂这算不算类定义外部!
答:C。

16 中断响应时间是指(  )。
【解析】
不是中断处理时间,而是响应时间。中断响应时间是指从发出中断请求到进入中断处理所用的时间。


17 TCP/IP模型的体系结构中,ICMP协议属于( )。
【解析】
ICMP协议划分不是很明显,但一般认为是IP协议的一部分,即网络层。ARP协议属于TCP/IP协议簇,而在TCP/IP模型中,所有定义的协议至少是在网际层(或称网络层,IP层)。
答:网络层


18 下列描述的不是链表的优点是( )
A.逻辑上相邻的结点物理上不必邻接
B.插进、删除运算操纵方便,不必移动结点
C.所需存储空间比线性表节省
D.无需事先估计存储空间的大小
【解析】
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。
答:C

19 下列的模板说明中,正确的有( )
A.template <typename T1, typename T2>
B.template <class T1, T2>
C.template <class T1, class T2>
D.template <typename T1; typename T2>
【解析】
AC



20 (  )面向对象程序设计语言不同于其他语言的主要特点。
A.继承性
B.消息传递
C.多态性
D.封装性
【解析】
ACD


21  阅读下列函数说明和C代码,将应填进(n)处的字句写在答题纸的对应栏内。
【说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向先驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0.每当在链表上进行一次L.Locate(x)操纵时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。
【函数】
void Locate(int &x)
{
< 结点类型说明 >
*p = first->next;
while (p != first &&   1) p = p->next;
if (p != first)
{
2 ;
< 结点类型说明 >
*current = p;
current->prior->next = current->next;
current->next->prior = current->prior;
p = current->prior;
while (p != first && 3 ) p = p->prior;
current->next = 4 ;
current->prior = p;
p->next->prior = current;
p->next = 5 ;
}
else
printf(“Sorry. Not find!\n”);  \*没找到*\
}
【解析】
题目不难,仔细点就没问题,失误点在2、3。
1 p->data!=x

2 p->freq++

3 current->freq>p->freq

4 p->next

5 current


22 “背包题目”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn,希望从N件物品中选择若干物品,所选物品的重量之和恰能放进该背包,即所选物品的重量之和即是S。递归和非递归解法都能求得“背包题目”的一组解,试写出“背包题目”的非递归解法

【解析】

[cpp] view plain copy
print ?
  1. // 现采用迭代方式实现,之后在对非迭代方式处理  
  2. // 算法思想:从根节点 O 出发,经过n个节点到达满二叉树叶子节点  
  3. // 第i-1层节点下的左右两个孩子有,左节点表示添加Wi个背包,右节点表示不添加Wi个  
  4. // 在节点到达重量S的时候录入容器  
  5. Class Solution  
  6. {  
  7. public:  
  8.     vector<vector<int>> Get_Res(int n,int S,vector<int> &w){  
  9.         vector<vector<int>> res;  
  10.         stack<int> path;          
  11.         myfun(path,res,S,0,w,0,n);  
  12.         return res;  
  13.     }  
  14.     // path 表示添加的路径;  
  15.     // res 表示路径集合;  
  16.     // wei 当前路径下的重量  
  17.     // Level 当前层数  
  18.     // 初态下 Level和wei 都是 0   
  19.     void myfun(stack<int> &path,vector<vector<int>> &res,int S,int wei,vector<int> &w,int Level,int n)  
  20.     {  
  21.           
  22.         if(Level>=n)  
  23.         {  
  24.             if(S>=wei)  
  25.                 res.push_back(path);  
  26.             if(S<wei)  
  27.                 res.push_back(path.pop());  
  28.             return;  
  29.         }  
  30.         if(wei>S)  
  31.         {  
  32.             res.push(path.pop());  
  33.         }  
  34.         myfun(path,res,S,wei,w,Level+1,n);  
  35.         path.push(Level);  
  36.         wei = wei+w[Level];  
  37.         myfun(path,res,S,wei,w,Level+1,n);  
  38.         path.pop();  
  39.         wei = wei-w[Level];  
  40.     }  
  41. };  
// 现采用迭代方式实现,之后在对非迭代方式处理
// 算法思想:从根节点 O 出发,经过n个节点到达满二叉树叶子节点
// 第i-1层节点下的左右两个孩子有,左节点表示添加Wi个背包,右节点表示不添加Wi个
// 在节点到达重量S的时候录入容器
Class Solution
{
public:vector<vector<int>> Get_Res(int n,int S,vector<int> &w){vector<vector<int>> res;stack<int> path;        myfun(path,res,S,0,w,0,n);return res;}// path 表示添加的路径;// res 表示路径集合;// wei 当前路径下的重量// Level 当前层数// 初态下 Level和wei 都是 0 void myfun(stack<int> &path,vector<vector<int>> &res,int S,int wei,vector<int> &w,int Level,int n){if(Level>=n){if(S>=wei)res.push_back(path);if(S<wei)res.push_back(path.pop());return;}if(wei>S){res.push(path.pop());}myfun(path,res,S,wei,w,Level+1,n);path.push(Level);wei = wei+w[Level];myfun(path,res,S,wei,w,Level+1,n);path.pop();wei = wei-w[Level];}
};


这篇关于TT-2014 研发笔试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085591

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

【秋招笔试】9.07米哈游秋招改编题-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集 100+ 套笔试题,笔试真题 会在第一时间跟新 🍄 题面描述等均已改编,如果和你笔试题看到的题面描述

两道笔试题

“char a='\72'”是什么意思? 这么理解:\为转义字符,\072转义为一个八进制数072,也就是十进制数的58买一送一,将转义字符对照表也一并贴给你吧:转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT

华为23年笔试题

消息传输 题目描述 在给定的 m x n (1 <= m, n <= 1000) 网格地图 grid 中,分布着一些信号塔,用于区域间通信。 每个单元格可以有以下三种状态:  值 0 代表空地,无法传递信号;  值 1 代表信号塔 A,在收到消息后,信号塔 A 可以在 1ms 后将信号发送给上下左右四个方向的信号塔; 值 2 代表信号塔 B,在收到消息后,信号塔 B 可以在 2ms

实现的动态规划问题华为笔试题C++实现

秋招刷力扣题,我觉得我对动态规划不是熟练,在此处做总结 动态规划(Dynamic Programming,DP)算法通常用于求解某种具有最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应一个值,我们希望找到具有最优值的解。我觉得最大的问题就是对问题的分解,分解后的问题与分解前的问题具有相同的决策机制,将决策机制进行抽象,最终可以得到对应的解; 动态规划中开始介绍的爬楼梯等问题,答