1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 北京交通大学计算机专硕复试经验分享

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

时间:2022-03-19 18:54:31

相关推荐

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

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

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

一.复试科目

我报考的专业是085400电子信息(计算机技术),复试科目是02103程序设计基础,包括计算机网络、数据库、操作系统等计算机核心课程。

在初试考完后,如果觉得自己考的还可以就要赶紧准备复试了,有少部分同学初试分数很高,但是被其他同学复试逆袭的。建议初试完就积极准备复试,去所报考的学校官网查看导师信息,选择1-3位自己心仪的导师,等初试分数一出来就立即发邮件联系导师。

二.复试环节

受疫情影响复试方式为网络复试,需要准备双机位在腾讯会议上进行复试。复试包括以下四个环节(每个环节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.综合面试环节

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。