2020年6月28日参加了一个测试,把题目记录下。
2020年7月4日更新 六、死锁
2020年7月6日更新 官方答案
题目:
题目
时间要求:40分钟
答题要求:在一张白纸上答题,标明题号
提交要求:答题纸拍成照片,通过邮件发送到邮箱:保护隐私,邮箱删掉了-。-
邮件标题:班级姓名答案。
一、(数学)
二、(C语言)“堆”和“栈”的区别?
三、(Java)Strings=newString("xyz");创建了几个字符串对象?
四、(编程)数组和链表的区别?
五、(编程)实现一个冒泡法排序的函数
六、(操作系统)进程和线程的区别;什么是线程死锁,举个例子?
七、(Web)Cookie和Session的区别?
八、(网络)计算机中的端口共有多少个?
九、(网络)如果一台PC机不能上网,那么你会怎么解决呢?
十、人工智能、机器学习、神经网络、深度学习的关系
十一、为什么选择AIoT中科创达的项目实训课程?
详细解答:
一
第一题是线性代数题,很简单的矩阵运算。
二、(C语言)“堆”和“栈”的区别?
这里的堆栈是指的内存区块,内存可分为多个区,其中就有“堆区”,“栈区”等。下面我贴一下详细划分:
1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其
操作方式类似于数据结构中的栈。
2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式类似于链表。new出来的放在这里。
3、全局区(静态区):(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4、文字常量区:常量字符串就是放在这里的。程序结束后由系统释放
5、程序代码区:存放函数体的二进制代码。
三、(Java)Strings=newString("xyz");创建了几个字符串对象?
从上面一题中可以看到,内存中又常量区,也就是字符串存放的地方。所以共创建了2个字符串对象。
- s string对象
- xyz 字符串常量
四、(编程)数组和链表的区别?
数据结构的内容,主要区别可以从存储结构(地址区,数据区)、访问速度、访问方式、内存存储方式、优缺点上面去回答。
五、(编程)实现一个冒泡法排序的函数
for (i=0; i<n-1; ++i){
for (j=0; j<n-1-i; ++j){
if (a[j] < a[j+1]){
//交换数据
buf = a[j];
a[j] = a[j+1];
a[j+1] = buf;
}
}
}
六、(操作系统)进程和线程的区别;什么是线程死锁,举个例子?
线程死锁:https://zhuanlan.zhihu.com/p/86659685
这个答案转自知乎。这个解释真的很好理解
做个简单的比喻:进程=火车,线程=车厢
- 线程在进程下行进(单纯的车厢无法运行)
- 一个进程可以包含多个线程(一辆火车可以有多个车厢)
- 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)
- 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)
- 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)
- 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)
- 进程可以拓展到多机,进程最多适合多核(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)
- 进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-"互斥锁"
- 进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量”
作者:知乎用户
链接:https://www.zhihu.com/question/25532384/answer/411179772
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
七、(Web)Cookie和Session的区别?
cookie和session都是web数据存储方式
区别:
cookie是把数据存放在客户端(spa渲染),session是把数据存放在服务端(ssr渲染),主要用途,做登录验证。
八、(网络)计算机中的端口共有多少个?
2的16次方=65536个,0~65535 这个是电脑开放的端口,不是物理端口
16个字节用来存储端口数据
九、(网络)如果一台PC机不能上网,那么你会怎么解决呢?
这个没有标准答案,我说说我写的
- 检查宽带、路由工作是否正常
- 检查电脑网线等设备的物理开关
- 检查驱动
- 检查网络软件开关(如笔记本fn组合键的开关,安全卫士的开关)
- 检查dns服务器配置
- 检查host文件
十、人工智能、机器学习、神经网络、深度学习的关系
这个问题我目前都比较蒙,说不太清楚,等我会了再来更新。
2022年1月25日更新:上面的pdf文档中有答案
Comments | 1 条评论
最后一题答案呢
