2020校招笔试题答案及评分标准

满分100分 时间1小时

一、简答题:

(5分)写出你用过的linux命令,举例说明其中几个的具体用法。

答案:略。评分标准:正确五个,1分一个。

(5分)写出TCP的三次握手和四次握手的过程。

**三次握手:**

简而言之:

1、客户端向服务端发出连接请求,等待服务确认。

2、服务端收到请求,并发确认连接信息

3、客户端收到服务端确认连接信息,建立连接。

**四次握手:**

简而言之:

1、客户端发出断开连接请求

2、服务端收到请求,向客户端发“收到断开请求”的确认信息

3、服务端确认无数据发送后,向客户端发出“关闭连接”

4、客户端收到“关闭连接”,发送“断开确认”,断开TCP连接

三次握手详细描述:

(1)第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务端,客户端进入SYN_SENT状态,等待服务端确认。

(2)第二次握手:服务端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值

seq=K,并将该数据包发送给客户端以确认连接请求,服务端进入SYN_RCVD状态。

(3)第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务端,

服务端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务端进入ESTABLISHED状态,完成三次握手,随后客户端与服务端

之间可以开始传输数据了。

四次握手详细描述:

由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,

收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。

首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此。

(1)第一次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1状态。

(2)第二次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入

CLOSE_WAIT状态。

(3)第三次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态。

(4)第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个ACK给服务端,确认序号为收到序号+1,服务端进入CLOSED

状态,完成四次挥手。

(10分)编写程序将一个句子按单词反序。比如“the sky is blue”,反序后变为“blue is sky the”?

思路:1、写一个字符串翻转函数,先对整个字符串翻转,然后将它以空格切分为字符数组,再对每一个字符串翻转。

2、切分成字符串数组,全部压栈,然后出栈即可

(10分)一张学生成绩表score,部分内容如下:

​ name course grade

​ 张三 操作系统 67

​ 张三 数据结构 86

​ 李四 软件工程 89

​ 用一条SQL 语句查询出每门课都大于80 分的学生姓名。

Select distinct name from score where name not in(Select name from score where grade <= 80);

思路:首先查询成绩低于80分以下的人,然后只要是姓名没有在这80分以下的人里面,那么他的所有科目都是80分以上。distinct表示去除重复记录。

5.(10分)接口和抽象类的区别是什么?

评分标准:写出正确三个区别,每个3分,三个都正确10分。

接口和抽象类的区别:

1、 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

2、 类可以实现很多个接口,但是只能继承一个抽象类

3、 类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

4、 抽象类可以在不提供接口方法实现的情况下实现接口。

5、 Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。

6、 Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。

7、 接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。

(15分)集合类用过哪些,分别列举出来,并指出它们各自使用了那些数据结构。

评分标准:写出正确三个,每个5分

(15分)Spring的IOC和AOP是什么?Spring有哪些优点,谈谈你对spring的理解。

IOC就是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中

,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。DI依赖注入,和控

制反转是同一个概念的不同角度的描述,即 应用程序在运行时依赖IoC容器来动态注入对象需要的外部资源。

AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装

为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维

护性。可用于权限认证、日志、事务处理。

优点:

(1)spring属于低侵入式设计,代码的污染极低;

(2)spring的DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性;

(3)spring提供了AOP技术,支持将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用。

(4)spring对于主流的应用框架提供了集成支持。

评分标准:三个问题,每个5分

二、 编程题:

1、(15分)实现一个栈,包含栈的基本操作(pop、push、top、size)。

送分题 评分标准:pop push top 每个4分,size3分。

2、(15分)给定一个无序数组arr,找到数组中未出现的最小正整数

​ 例如arr = [-1, 2, -3, 4]。返回1

​ arr = [1, 2, 3, 4]。返回5

​ [要求]

​ 时间复杂度尽可能的低。

一般思路1:因为题目找最小正整数,设置一个temp=1,然后遍历数组,若出现与temp相同的则temp++,并且从头开始遍历,

遍历结束还没有出现.则temp就是要找的数字。

一般思路2:排序。

最优思路3:原地哈希,把数组中取值在1到n的数放到对应的位置,比如1放到0的位置,2放到1的位置,……n放到n-1的位置,

然后遍历重置后的数组,若i下标位置不是i+1,则i+1就是那个最小的正整数,若1到n位置都对的上,说明最小的正整数是n+1。

参考代码:

public static int minNumberdisappered (int[] arr) {

int n=arr.length;

//原地hash

for(int i=0;i

//i为下标, 主要是排1到n这个区间范围内的数据,其他超出区间的值一概不管,被替换也没关系

while(arr[i]>=1 && arr[i]<=n && arr[arr[i]-1]!=arr[i]){

swap(arr,arr[i]-1,i);

}

//当前数组值

for(int j=0;j

}

//遍历答案

for(int i=0;i

if(arr[i]!=i+1){

return i+1;

}

}

return n+1;

}

private static void swap(int[] arr,int i,int j){

int temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

总结:

很荣幸的作为本次校招的出题人和阅卷人之一,考虑到校招大学生的基础水平,题目出的不是很难,但是包含面比较广泛,包括了Linux、计算机网络、Java字符串处理、SQL语言、Java基础知识

、Spring框架、数据结构等。总体来说题目我个人而言还算是比较满意,虽然难度都不高,但是从笔试结果来看,做的并不是很好,题目简单但是也有区分度,想拿高分并不简单,里面的大多数知识都是一个项目所必须的,希望校招的同学们多多加强知识面的广度(笔试)和语言的深度(面试)。

java校招笔试题目_Java校招笔试题相关推荐

  1. 东软java的笔试_东软的笔试题

    这是一篇东软的笔试题,希望对打算面东软的各位仁人志士有所帮助. 1.下列变量定义错误的是 D int a; double b=4.5; boolean b=true; float f=9.8; (9. ...

  2. java经典笔试题目_java笔试考题(经典).pdf

    java笔试考题(经典) TCSD标准考试 JAVA试题 (100分制,考试时间150分钟) 一. 单选(30小题共60.0分) 1. 下列代码的运行结果是 public class TwoThrea ...

  3. java web 笔试 题_JavaWeb综合笔试题(带答案).doc

    1.(选择一项) 1 A: B: C: D:2.(选择一项) A: B: C: D: 3.(选择一项) A: B: C: D:4.(选择一项) 4A: B: C: D:5.(选择一项) 5 A: B: ...

  4. 网易2020校招数据分析方向提前批笔试题解析

    网易2020校招数据分析方向提前批笔试题 选择题 简答题 编程题 选择题 有一类二叉树用三叉链表来存储的时候除了带有指向左右孩子节点的两个指针,还有指向父节点的指针,那么这样一棵二叉树有2个节点,那么 ...

  5. 联发科射频工程师题目_联发科笔试题及部分答案

    联发科的C语言笔试题,请教高手 int sum=0; int a[][4]={1,2,3,5,8,13,21,34,56}; int (*ptr)[4]=a; sum=(*ptr)[1]+a[0][3 ...

  6. java程序运行结果题_2016年关于Java编程与程序运行结果笔试题

    2016年关于Java编程与程序运行结果笔试题 1.Java编程,打印昨天的当前时刻 public class YesterdayCurrent{ public void main(String[] ...

  7. 校招笔试C语言,校招c ++笔试题汇总

    ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题, 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后 ...

  8. 【校招笔试】网易校招网络笔试题,菜的抠脚,蠢的流泪

    2018-3-27晚上9点40分 10分钟前.网易的校招笔试结束了,结果惨不忍睹,在此记录一下. 网易的校招笔试是在电脑端进行的,摄像头监控,考试网站牛客网,晚上7点半开始到9点半,自行居家网上答卷. ...

  9. java常见笔试_Java 常见笔试题(2)

    Java 笔试题 (测试题目答题时间60分钟,请独立完成) 一. 选择题 单选题(10) 1. 给出以下代码,请问该程序的运行结果是什么?() class Example { public stati ...

最新文章

  1. ue4 开发动作游戏_两年时间独自用UE4制作的动作游戏,传说一般的制作人离忧先生...
  2. .net 显示时间为YYYY-MM-DD格式
  3. Eular 函数模板
  4. shellinabox基于web浏览器的终端模拟器
  5. CentOS7的初始配置
  6. 图像去雾算法_HTN图像去雾开源代码
  7. 基于SSM的培训机构管理系统
  8. C++中#includeXXX.h和#includeXXX.h的区别
  9. [Linux] IOmeter 安装
  10. 无法解析 taglibs:standard:1.1.2
  11. Python采集《惊奇先生》, 下载你想看的高质量漫画
  12. 治疗便秘的30种秘方
  13. echarts关系图
  14. OpenModelica仿真RLC电路
  15. 最小公倍数的多种求法(C++代码实现)
  16. 【对称加密与非对称加密】-- 概念、图示、优缺点
  17. 全球50大最重要互联网人物
  18. 计算机硬件小论文,计算机硬件小论文
  19. 利用facebook graph api发送图片
  20. 最近项目中公用的JS

热门文章

  1. 嵌入式Linux:安装Ubuntu系统环境
  2. python画钟表代码_Python技能操作5:用代码做个能挂墙上的大钟表
  3. 点云ply格式文件详解
  4. 视觉SLAM十四讲-第九讲例程运行出错
  5. UIWebView 使用
  6. 2021年CVPR论文Deep Two-View Structure-from-Motion Revisited阅读笔记
  7. 计算机科学与技术用什么配置的笔记本,笔记本电脑什么配置好?这两大标准你知道吗?...
  8. 为什么刹车热了会失灵_急!我的刹车为什么突然不管用了?
  9. Single Threaded Execution模式
  10. linux查找最近文件在哪里,Linux查找最近修改的文件