博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020校招笔试部分题型整理
阅读量:2070 次
发布时间:2019-04-29

本文共 3892 字,大约阅读时间需要 12 分钟。

先看后赞,养成习惯。点赞收藏,人生辉煌!

么么哒

目录

1、从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A、O(n)

B、O(1)
C、O(log2n)
D、O(n2)
解析:如果二叉排序树是平衡的,则n个节点的二叉排序树的高度为Log2(n+1),其查找效率为O(Log2n),近似于折半查找。如果二叉排序树完全不平衡,则其深度可达到n,查找效率为O(n),退化为顺序查找。一般的,二叉排序树的查找性能在O(Log2n)到O(n)之间。因此,为了获得较好的查找性能,就要构造一棵平衡的二叉排序树。

2、如果一个接口Cow有个方法drink(),有个类Calf实现接口Cow,则在类Calf中正确的是? ( C)

A、void drink() { …}

B、protected void drink() { …}
C、public void drink() { …}
D、以上语句都可以用在类Calf中
解析:子类重写父类方法时,方法的访问权限不能小于原访问权限,在接口中,方法的默认权限就是public,所以子类重写后只能是public

3、SQL语言具有的功能是 ( B)

A、关系规范化,数据操纵,数据控制

B、数据定义,数据操纵,数据控制
C、数据定义,关系规范化,数据控制
D、数据定义,关系规范化,数据操纵
选B。
解析:SQL 是用于访问和处理数据库的标准的计算机语言。
SQL主要功能分成四部分:
数据定义:(DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
数据操纵:(DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
数据控制:包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
嵌入式SQL的使用规定:涉及到SQL语句嵌入在宿主语言程序中使用的规则。

4、数据链路层采用选择重传协议(SR)传输数据,发送方已发送了 0~3 号数据帧,现已收到 1 号帧的确认,而 0、 2 号帧依次超时,则此时需要重传的帧数是(B )。

A、1

B、2
C、3
D、4
解析:连续ARQ协议(GBN):发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则可以继续发送。若某个帧出错,接收方只是简单地丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后续的所有数据帧。这里要注意,连续ARQ协议中,接收方一般采用累积确认的方式,即接收方对按序到达的最后一个分组发送确认;
选择ARQ协议(SR):选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是否有序,只要正确接收就发送选择ACK分组进行确认。因此选择重传协议中的ACK.分组不再具有累积确认的作用。这点要特别注意与GBN协议的区别。
综上,已收到 1 号帧的确认,而 0、 2 号帧依次超时,那么重传的就是0,2两个数据帧;
可能你就要问了,那3号数据帧呢?关于3号帧的理解,0~3号帧都已发送了,对于每个发送的帧都有确认机制,现由于超时仍没有收到0和2号的确认,判定为超时,现在需要重传这两个帧,而现在正在等待3号帧的确认信息,而且等待时间还没有超时,所以就要继续等待,直至超时。

5、设有4 个作业同时到达,每个作业的执行时间均为2 个小时,它们在一台处理机上按单道方式运行,则平均周转时间为(B)。

A、1小时

B、5小时
C、2.5小时
D、8小时
解析:第一个作业无需等待,完成用2小时;第二个等待2小时,完成再用2小时,一共4个小时;第三个为6小时;第四个为8小时.所以(2+4+6+8)/4=5(小时)。

6.以下哪项不属于STL container?( D )

A、stack

B、queue
C、multimap
D、string
解析:STL container分为两大类:
序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。
关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)。
容器适配器:stackqueue,priority_queue。

7.如果互连的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的互连设备应该是?(D)

A、中继器

B、网桥
C、网卡
D、路由器
解析:《网络基础》
中继器、网卡:工作在物理层;
网桥:数据链路层;
路由器:网络层
路由器工作在网络的网络层上,当数据包要在不同协议、不同体系结构的网络之间进行传输时,路由器不仅可以进行路由选择,还可以进行数据包的格式转换以适应这种传送。

8.要运用css3动画,你需要运用什么规则?(B)

A、animation

B、keyframes
C、flash
D、transition
解析:《CSS》
要运用css3动画,需要运用@keyframes规则和animation属性

9.如下函数,在32bits系统foo(2^31-3)的值是(B)。(这里的^是指数的意思)

int foo (int x)   return x & -x

A、0

B、1
C、2
D、4
解析:《C语言、编译和体系结构》此题应该考虑符号位2^31=10000000 00000000 00000000 00000000(这里的第一位是符号位,以补码形式存储,此时输出应该为-INT_MAX)2^31-3=01111111 11111111 11111111 11111101(源码=补码,这里有两种思路理解:思路一:2^31-3不溢出,得到正数,思路二:两个补码相加)
-(2^31-3)=11111111 11111111 11111111 11111101(源码),1000000 00000000 00000000 00000011(补码)
两个补码做按位与后得到结果为00000000 00000000 00000000 00000001结果为1

10、假设下列字符码中有奇偶位校验,且没有数据错误,采用奇校验的字符码是__D__。

A、10001011

B、11110110
C、11001001
D、11101001
解析:《编程基础》
奇偶校验码:
奇校验码:1的个数为奇数
偶校验码:1的个数为偶数

11、十进制数-10的3进制4位补码是多少?(C)

A、0010

B、1010
C、2122
D、2121
**解析:《编译体系结构、阿里》
3进制数,都满足如下的几个性质
(1)用0,1,2表示;
(2)遇3进位;3进制的数的补码同二进制的转换过程一样。
(1)先求的10的3进制表示为0101;
(2)对10的3进制表示形式取反为2121;
(3)对取反后的三进制表示形式加1位2122;
**

12、为了减少指令中的地址个数,有效的办法是采用( D )。

A、寄存器寻址

B、立即寻址
C、变址寻址
D、隐地址
解析:《编译和体系结构》
1)间接寻址(隐寻址)是指地址码指向主存中的数据,而这个数据仍然是一个地址,通过这个地址才能找到数据。这种方式提高了寻址的灵活性,扩大了寻址的范围。但由于要多次读主存,速度大为降低。
(2)寄存器寻址是指地址码的地址是寄存器的地址,由于访问寄存器的速度是非常快的,所以使用寄存器寻址有非常快的速度,但不足之处是寄存器的数量有限。因此,寄存器的地址位应该比较简短。
(3)立即寻址是指地址码就是操作数,这种寻址方式不必再次访问内存去取操作数。
(4)变址寻址是指将地址码和变址寄存器内容相加后形成数据的地址,由于变址寄存器能自动修改,这种方式对数组运算、字符串操作等批量数据的处理非常有效。

13、java8中,下面哪个类用到了解决哈希冲突的开放定址法(C)。

A、LinkedHashSet

B、HashMap
C、ThreadLocal
D、TreeMap
解析:《java、京东、2019、算法工程师》
Threadlocalmap使用开放定址法解决haah冲突,Hashmap使用链地址法解决hash冲突

14、有以下程序

#include
using namespace std;------------------------int main(){
int a=1,b=2,c=3;cout<

程序运行的结果是6,请为横虚线处选择合适的程序( AD )。

A、int add(int x,int y=5,int z=6);
B、int add(int x=1,int y=5,int z);
C、int add(int x=1,int y,int z=6);
D、int add(int x=1,int y=5,int z=6);
解析:《测试工程师、java工程师、360》
默认实参作为形参的初始值出现在形参列表中。我们可以为一个或多个形参定义默认值,不过需要注意一点的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值;

15、C代码中可能会出现如下类型的结构体定义:(AB)

typedef struct holder {
struct holder *next; struct holder *prev; char buffer[ 0 ]; }holder;

最后一行 char data[ 0 ] 作用是?

A、方便管理内存缓冲区
B、减少内存碎片化
C、使结构体数据对齐
D、没有作用

转载地址:http://nmsmf.baihongyu.com/

你可能感兴趣的文章
使用wagon-maven-plugin插件自动部署项目
查看>>
Maven 打包的三种方式 和 Springboot 分离jar包
查看>>
ActiveMQ中Session设置的相关理解
查看>>
Linux Python 2.7.15
查看>>
Nexus配置Linux Yum Repository
查看>>
Nexus Python pip Repository
查看>>
Linux Mysql 8.0.1
查看>>
Python pymqi 连接 IBM MQ
查看>>
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof 详解
查看>>
Java - JVM TLAB、对象在内存中安置顺序、垃圾收集、回收算法
查看>>
转: 关于Linux与JVM的内存关系分析
查看>>
(转)Java 程序员必备的高效 Intellij IDEA 插件
查看>>
局域网(内网)docker安装及代理访问
查看>>
软考 英语学习
查看>>
maven 文件上传到远程服务器目录
查看>>
shell 脚本免密远程访问
查看>>
Linux平台Oracle多个实例启动说明
查看>>
在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
查看>>
Oracle 10g 下载地址
查看>>
Linux 下 新增Oracle10g 实例
查看>>