2021北京交通大学计算机专硕复试经验分享

  • 一.复试科目
  • 二.复试环节
  • 三.复试问题
    • 1.英语口语环节
    • 2.编程语言环节
    • 3.专业课基础环节
    • 4.综合面试环节

一.复试科目

我报考的专业是085400电子信息(计算机技术),复试科目是02103程序设计基础,包括计算机网络、数据库、操作系统等计算机核心课程。
在初试考完后,如果觉得自己考的还可以就要赶紧准备复试了,有少部分同学初试分数很高,但是被其他同学复试逆袭的。建议初试完就积极准备复试,去所报考的学校官网查看导师信息,选择1-3位自己心仪的导师,等初试分数一出来就立即发邮件联系导师。

二.复试环节

2021年受疫情影响复试方式为网络复试,需要准备双机位在腾讯会议上进行复试。复试包括以下四个环节(每个环节5分钟,时间一到老师自动退出会议):

  • 英语口语
    一开始会先让你进行英语自我介绍,时长大约1-2分钟。之后根据你的自我介绍对你进行英语提问,一般是3个问题左右。(我被问到的是:你在大学中获得了哪些奖项,你觉得在英语学习中最重要的是什么)
  • 编程语言
    老师会让你选择一个你熟悉的语言,然后据你所选的语言对你进行提问,会问的很细。绝大多数人表现得很差,一定要选择一门自己熟悉的语言,最好经常用这个语言编程,如果学生缺乏编程经验,这是很大的扣分项。(我选择的是java,被问到了:口述获取一行输入信息的代码,很多人被问到了口述代码的题)
  • 专业课基础
    一般会问计算机网络、数据库、操作系统等计算机核心课程,不在学校目录,考过的,都可以不用管,剩下的问的比较细(比如我被问到了拥塞控制中拥塞窗口的变化情况)
  • 综合面试
    这部分比较轻松,上来先让你自我介绍,主要是根据你在学校官网的研究生系统中填写的补充信息进行提问,问问毕业设计和项目之类的。

三.复试问题

下面是我备考时准备的一些问题及答案

1.英语口语环节

  • why do you choose this major?
  • What do you think of your undergraduate school?
  • Could you tell us something about your family?
  • Can you tell me more about your hometown?
  • Why you choose Beijing Jiaotong University?
  • Why do you want to go to graduate school ?
  • What is your greatest strength?
  • what is your greatest weakness?
  • How do you feel about your progress to date?
  • What are your goals for the future?
  • Tell me about the city where your school is located?
  • Tell me about your weekend?
  • What are your plans for graduate school?
  • What would you do if the postgraduate entrance - examination fails??
  • What project have you participated in?
  • What do you do in your graduation project?
  • Have you passed CET-6?
  • Describe the most unforgettable/recent success in your life?
  • What was your favorite story in your childhood?
  • what is the most important impact of the outbreak/epidemic on you?
  • Where have you been traveling to ?
  • What is the most memorable thing in your childhood?
  • What do you think is the most important quality of a person?
  • What is machine learning?
  • what do you think of artificial intelligence?
  • How to deal with conflicts with teachers or classmates?
  • Which major do you think is the most important undergraduate course?
  • Introduce one of your favorite books?

2.编程语言环节

我选择的是Java,下面都是关于Java的问题

  • 类对象怎么排序

我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现,一种方法是类实现Comparable接口,然后调用Collections.sort(List)方法进行排序,另一种方法是类不实现Comparable接口,而在排序时使用Collections.sort(List, Comparator)方法,并实现其中的Comparator接口。

  • 怎么判断两个引用对象是否相等

用“==” ,比较的是地址,若两个引用对象的地址相同,则相等。

  • 集合框架

Java集合框架(Java Collections Framework, JCF) 是为表示和操作集合而规定的一种统一的标准的体系结构。
Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

  • ArrayList底层是怎么实现的

ArrayList的底层是一个动态的数组,数组的长度可以根据实际存储元素数量的增加而动态增长。

  • LinkedList底层怎么实现的

LinkedList底层是链表数据结构。LinkedList 底层的数据结构是基于双向循环链表的,且头结点中不存放数据。

  • LinkedList的节点具体代码实现
LinkedList<String> sites = new LinkedList<String>();
  • java是否有结构体

没有,Java中用类替代了C语言中的结构体。

  • 怎么判断一个方法能不能被继承

类名前被final修饰的类不能被继承,父类中声明为 private 的方法,不能够被继承。

  • list和set是接口还是类,实现类有哪些方法

List和set都是接口。List常用的实现类有ArrayList LinkedList 和Vector. Set有三个具体实现类,分别是散列集HashSet.链式散列集LinkedHashSet和树形集TreeSet

  • .java和c语言的区别

(1)C语言是面向过程的语言,执行效率高;Java是面向对象的语言, 执行效率比C语言低(2)C语言不能跨平台;java可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了(3)语法不同;(4) 单文件的编译时间java比C语言快;(5) C语言可以直接操作内存,java不能直接操作;(6) C语言可以封装动态库,java不行;(7) C语言有指针,java没有指针;(8) C语言可以直接操作串口,java需要第三方jar包支持;

  • java本地调用

1. 编写带有native声明的方法的java类
2. 使用javac命令编译所编写的java类
3. 使用javah -jni java类名生成扩展名为h的头文件
4. 使用C/C++实现本地方法
5. 将C/C++编写的文件生成动态链接库

  • 多线程的4种实现方法

继承 Thread 类;实现 Runnable 接口;实现 Callable 接口;使用 Executors 工具类创建线程池。

  • 线程同步怎么实现

使用synchronized关键字。由于每个java对象都有一个内置锁,用synchronized修饰方法或者代码块时,内置锁会保护整个方法或代码块,要想执行这个方法或者代码块必须获得其内置锁,运行时会加上内置锁,当运行结束时,内置锁会打开。

  • 泛型方法

定义一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。如:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序

public static <T extends Comparable<T>> T maximum(T x, T y, T z)
  • this关键字的定义和作用

This:代表对象,就是所在函数所属对象的引用。
(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

  • 如何定义一个常量

用static final 修饰变量

  • static可以修饰什么?用和不用有什么区别?

static是关键字,可以修饰变量,方法,代码块
1.用static修饰的变量,为静态变量,也称为类变量,可以通过类和对象来访问
2.用static修饰的方法,是静态方法,静态方法只能访问其他的静态成员,静态方法里没有this关键字

  • Super关键字的作用

可以调用父类中的构造方法,必须写在子类构造方法的第一行,如果父类的构造方法是无参的,可以不写,如果父类没有无参数的构造,必须要写super。

  • 包及包的作用

为了避免相同类名而发生覆盖的情况,把所有java程序保存在各自的目录里面,而该目录就是包。包的本质实际上就是一个文件夹。
包的作用:
Java包用于对类和接口进行分类,以便更好地维护它们。
Java包提供访问保护。
Java包消除命名冲突。

  • 访问权限

1.public 公共的,所有人都可访问
2.private 私有的,只能通过类中成员函数访问,类外不允许访问。
3.protect 保护的,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问。
4.default 包访问权限,在自己包内可以随意访问。

  • Java中的多态

多态的前提条件有三个:
•子类继承父类
•子类覆盖父类的方法
•父类引用指向子类对象
new谁就调用谁的方法,引用是谁,就用谁的成员和静态。
多态性:父类引用子类对象时,调用子类中重写后的方法,Java 在运行时能根据对象的不同产生不同的结果。

  • 向上转型与向下转型

向上转型:把子类的对象赋值给父类的变量。(屏蔽掉子类中特有的方法)
向下转型:把父类的变量转换回子类的变量。(向下转型可能有风险,java要求必须要写强制类型转换)

  • Java中的抽象类和抽象方法

抽象方法:使用abstract来修饰,不能有方法体,直接用分号结束即可。(只声明不实现)
抽象类:如果一个类中有抽象方法,这个类必须是一个抽象类。
特点:
抽象类不可以创建对象。
抽象类的子类,必须重写父类中的抽象方法,否则子类也是抽象类。抽象类中可以有正常的方法。

  • 什么是接口?作用?

使用interface来声明,接口实际上是一种特殊的抽象类,接口中的方法都是抽象方法,接口中的所有变量都是全局静态常量。Java类只能单继承,通过接口可以多实现(implement)。
接口的作用:(优点)
1.可以实现多态性
2.可以把很多不相关的内容进行整合
3.有利于代码的规范和维护
4.能够保证代码的安全和严密

  • 什么是object类,作用是啥?

在Java中所有的类都要继承object,是所有类的根,我们写的类即使不写继承关系,也都默认会继承object。

  • “==”与equals比较

“= =”:默认判断的是两个对象的内存地址是否一致,常用于基本数据类型的判断。
Equals:如果没有对equals方法进行重写,则比较两者是否指向同一个对象;不能用作基本数据类型的比较;可以对equals进行重写,比如String类对equals方法进行了重写,用来比较指向的字符串内容是否相等。

  • 异常

异常分为:
编译时异常:在程序编译时就能发现异常。
运行时异常:编译能够通过,在程序运行时发现异常。

  • 异常的处理

1.try…catch(try中写尝试执行的代码。Catch中写处理异常的代码)
2.throws:表示方法准备要扔出来一个异常
3.throw:表示向外抛出异常

  • try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

会执行,在return 前执行

  • 什么是Spring

Spring是一个开源框架,降低Java开发的复杂性

  • 什么是SpringBoot

Spring Boot是在Spring的基础上面搭设的框架,目的是为了简化Spring项目的搭设和开发过程。使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,并且利用 IDEA 可以自动生成。

  • JVM、JRE和JDK的关系

JVM是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。
JRE包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类。
JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。

  • 什么是跨平台性?

所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。

  • hashCode()与equals()的相关规定

如果两个对象相等,则hashcode一定也是相同的。两个对象相等,对两个对象分别调用equals方法都返回true。两个对象有相同的hashcode值,它们也不一定是相等的。

  • 如何将字符串反转?

使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。

  • HashMap 的实现原理?

HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

  • sleep() 和 wait() 有什么区别?

两者都可以暂停线程的执行
类的不同:sleep() 是 Thread线程类的静态方法,wait() 是 Object类的方法。
是否释放锁:sleep() 不释放锁;wait() 释放锁。
用途不同:Wait 通常被用于线程间交互/通信,sleep 通常被用于暂停执行。
用法不同:wait() 方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify() 或者 notifyAll() 方法。sleep() 方法执行完成后,线程会自动苏醒。或者可以使用wait(long timeout)超时后线程会自动苏醒。

  • 抽象类必须要有抽象方法吗?

抽象类中不一定要有抽象方法。 在编程语句中用 abstract 修饰的类是抽象类。

  • 抽象类能使用 final 修饰吗?

不能,抽象类是用来被继承的,使用final修饰了就不能被继承了。

  • 如何实现数组和 List 之间的转换?

数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法;List 转数组,使用 List 的toArray方法。

  • Java哪些集合类是线程安全的?

Vector、Hashtable、ConcurrentHashMap、Stack

  • Java Iterator(迭代器)

不是一个集合,它是一种用于访问集合的方法。迭代器的基本操作是 next 、hasNext 和 remove。

 ArrayList<String> sites = new ArrayList<String>();Iterator<String> it = sites.iterator();while(it.hasNext()) {System.out.println(it.next());}
  • 什么是java序列化,如何实现java序列化?

序列化:把对象转换为字节序列的过程称为对象的序列化。
反序列化:把字节序列恢复为对象的过程称为对象的反序列化。
序列化的实现:
实现Serializable接口,创建ObjectOutputStream序列化流,调用writeObject方法,写出对象。
反序列化流的实现:
实现Serializable接口,创建 ObjectInputStream 反序列化流,调用 readObject 方法,读取对象。

  • String,StringBuffer,StringBudilder区别

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

  • treemap和hashmap的区别

1、HashMap中元素是没有顺序的;TreeMap中所有元素都是有某一固定顺序的。
2、HashMap继承AbstractMap类,是基于hash表实现的;TreeMap继承SortedMap类,是基于红黑树实现的。

  • 如何比较两个date对象大小

Date date1; Date date2;
1.Date的compareTo()方法来比较大小,compareTo()方法的返回值,date1小于date2返回-1,date1大于date2返回1,相等返回0
2.Date自带的before()或者after()方法比较

  • 如何定义数组

数组类型[ ] 数组名; 数组类型 数组名[ ];

type[][] typeName = new type[typeLength1][typeLength2];
  • for循环和while循环是否在任何情况下都能转换,哪种情况不能

for循环适用于已知循环次数,while循环适用于未知循环次数的时候

  • java中的break和continue与c语言中的有什么区别?

Java 中支持带标签的 break 和 continue 语句,作用有点类似于 C 和 C++中的 goto 语句

  • 工厂模式是什么

工厂模式是 Java 中最常用的设计模式之一。属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

  • Java运行数据区

方法区、堆、java栈、pc寄存器、本地方法栈

  • Java可不可以用if(1){ }

不可以,必须是true或者false这样的boolean值。

  • List<>能new吗 <>里能不赋值吗

接口不能实例化
可以不声明泛型类型,默认是object类型

  • 单例模式

确保类在内存中只有一个对象,并且该对象由类自动创建并且对外提供;

//饿汉式
public class Student {//私有构造函数private Student() {} //创建私有静态类变量并new赋值private static Student s = new Student();//创建公有静态方法 getXxx,内部返回私有静态类变量public static Student getStudent() {return s;}
}
  • thread方法的具体代码

1.首先要创建一个类继承Thread类并重写run()方法;

public class MyThread1 extends Thread{@Overridepublic void run() {for(int i=0;i<500;i++) {System.out.println("hello---"+i+"-----run");}}
}

2.建立测试类并通过start()方法启动线程;

public class Test1 {public static void main(String[] args) {//      创建线程类对象MyThread1 mt1 = new MyThread1();mt1.start();for(int i=0;i<500;i++) {System.out.println("-----main"+i+"-----");}}
}
  • 判断一个整数里面有多少个2
public int 函数名(int m){int count = 0;int k = 0;while (m>0) {k=m%10;If (k == 2) count++;m = m/10;}return count;
}
  • 求平均值
public double avg( double [] a) {double sum = 0;for( int i = 0;i<a.length;i++) {sum+=a[i];}return sum/a.lengh
}

3.专业课基础环节

详见: 计算机专硕考研复试面试问题总结.

4.综合面试环节

  • 自我介绍
  • 你的研究生规划
  • 说一说你参加过的项目
  • 介绍以下你的毕业设计
  • 你对哪些方向感兴趣
  • 联系过导师了吗

希望能对大家有所帮助,祝愿大家成功上岸!

2021北京交通大学计算机专硕复试经验分享相关推荐

  1. 2021北京交通大学计算机专硕初试经验分享

    2021北京交通大学计算机专硕初试经验分享 1.报考专业及初试科目 2.学习过程 3.推荐书目 1.报考专业及初试科目 我报考的专业是085400电子信息专硕(计算机技术).初试科目是政治.数学一.英 ...

  2. 北京科技大学和北京交通大学考研计算机,2021北京交通大学计算机专硕考研经验分享...

    北京交通大学计算机专硕考研成功经验分享 首先进行一下简单的自我介绍.我本科是就读于太原理工大学,专业是计算机科学与技术.考研报考院校和专业是北京交通大学计算机专硕. 总的来说我本科院校的学习氛围还是不 ...

  3. 2019年北京理工大学计算机专硕上岸经验分享

    2019年北京理工大学计算机专硕上岸经验分享 上午十一点出的名单,终于放下心了.静下心来记录下经验.希望能帮到学弟学妹们. 先贴两个比较重要的链接: 北京理工大学复试上机题汇总 历年北京理工大学复试专 ...

  4. 北京交通大学计算机考研02103复试经验分享

    [2022考研复试重要时间节点] 2022年3月20号左右计算机学院公布复试线与复试名单. 2022年3月底参加复试. 2022年4月初公布拟录取名单. [复试解读] [进入复试数据] 因为疫情复试近 ...

  5. 2021浙江工业大学计算机专硕复试经验帖

    本文记录一下自己的考研过程,着重讲复试. ** 一.前言 其实一开始是和队友一起准备17届浙江acm省赛,但奈何因为疫情原因比赛被无限的往后延.所以面对这突如其来的不确定因素,我们不得不对自己的未来重 ...

  6. 21北京交通大学\北交软件专硕复试经验分享

    21北京交通大学\北交软件专硕复试经验分享 本人20届软件工程专硕,因为是往届生,基本是零基础上岸,准备初试复试期间,二哥考研的学长和答疑群给了我很大帮助,所以今天受二哥考研邀请来给大家介绍下软件学院 ...

  7. 中国石油大学(北京)计算机专硕上岸经验

    中国石油大学(北京)计算机专硕考研 我是一名山东双非院校的本科生,很幸运地上岸了. 初试成绩:政治75 英二79 数二137 专业课138 总分429 初试第一 复试成绩:拉跨了,希望后辈们认真准备复 ...

  8. 2021华东师范大学计算机专硕考研经验贴

    本科烟台大学计算机与控制工程学院计算机科学与技术专业 研究生华东师范大学计算机科学与技术学院电子信息专硕拟录取 初试成绩379(政治:73,英语二:65,数学二:115,专业课408:126) 一.备 ...

  9. 中专学渣上岸内蒙古大学计算机专硕考研经验分享

    随着4月4日复试排名的公布,悬着的心终于能够放下来了,回想这几年辛苦的学习历程,走了很多的弯路,于是决定写一篇经验帖,学弟学妹们可以参考参考. 本经验贴一共分为6个部分,自我介绍,院校分析,专业课介绍 ...

最新文章

  1. 通过SecureCRT连接Vmware中的RHEL6.3的方法
  2. Python面向对象:isinstance和issubclass
  3. 第一章--计算机系统知识
  4. maven项目 错误: 找不到或无法加载主类
  5. EntityFramework Core如何映射动态模型?
  6. 第二届大数据科学与工程国际会议在贵阳成功召开
  7. 批量标准化BN方法简介【避免了梯度消失和梯度爆炸、加速网络的收敛、优化网络结构】
  8. 用user-selection实现让页面上的内容不能被选中
  9. 56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍
  10. C语言找出1000之内的完数
  11. android应用流程图,Android APP 启动流程简析
  12. 怎样分析数据致提高产出?(一)
  13. windows命令——taskmgr 1
  14. Python入门习题(64)——OpenJudge百练习题:最长单词
  15. iOS之深入探究动画渲染降帧
  16. play框架使用起来(17)
  17. 用动画(animation)做弹力球
  18. Python例题8-3~8-4 T恤
  19. 逻辑回归原理介绍及Matlab实现
  20. 对js原型对象的理解

热门文章

  1. Go语言(三):变量的基本使用以及枚举类型的使用(代码)
  2. 红外发射管的使用以及发射角度与强度问题
  3. html文本的背景,HTML---CSS字体,文本,背景和边框属性
  4. 使用标志量消除循环链表“假溢出”的入队和出队算法
  5. 转子接地保护原理_发电机转子接地保护
  6. php网页分类的修改,php网站分类目录 网站收录 网址导航程序 织梦二次开发
  7. 基于Springboot实现健身房管理系统
  8. css烟花绽放效果代码,纯CSS3的烟花绽放动画
  9. 空格在html 中的含义
  10. 笔记本电脑攻略丨笔记本电脑配置怎么看与笔记本电脑验机方法