您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 2017年南京大学软件学院研究生面试总结
一、专业课面试1.B和B+树的区别B树,又称为多路平衡查找树,B树种所有节点的孩子结点数的最大值成为B树的阶,通常用m表示。一棵m阶B树或为空树,或为满足如下特性的m叉树:(1)树中每个节点之多有m棵子树(即至多含有m-1个关键字)(2)若根节点不是终端结点,则至少有两棵子树(3)所有叶结点都出现在同一层次上,并且不带信息。B树是所有结点的平衡因子均等于0的多路查找树。在B+树中,叶结点包含了全部关键字,即在非叶结点中出现的关键字也会出现在叶结点中;而在B树中,叶结点包含的关键字和其他结点包含的关键字是不重复的。2.静态链表静态链表是借助数组来描述线性表的链式存储结构,结点也有数据域data和指针域next,与链表中的指针不同的是,这里的指针是结点的相对地址(数组下标),又称游标。和顺序表一样,静态链表也要预先分配一块连续的内存空间。021b62a13d-145c33.软件过程软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。概括地说,软件过程描述为了开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事(what)以及怎样(how)做这些事以实现某一个特定的具体目标。软件工程方法学的软件过程,基本上可以用瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等来描述。4.计算机网络5.Java垃圾回收机制在程序语言不需要关注内存的时候,可以自动清除;6.多态定义:某种事物的多种形态(一个对象,两种形态)多态在代码中的体现:父类或者接口的引用指向子类的对象。多态的优点:提供代码的扩展性,前期的代码可以使用后期的内容。多态的弊端:父类型的引用不能使用(调用)子类的特有方法。多态的前提:(1)必须有关系(继承或者实现)(2)要有重写7.异常和错误异常是程序运行过程中产生的错误。比如在进行除法运算时,如国除数为0,则运行时java会自动抛出一个算术异常,它会中断程序的正常运行,如果不对它进行处理,有时会产生验证的后果。在java中,在程序执行代码的时候,一旦发现异常,程序会根据预定的处理方法对异常进行处理,异常处理完后程序继续运行。java异常处理机制通过5个关键字进行控制:try、catch、throw、throws和finally。异常有两种,一种编译时异常一种运行时异常,错误处理不了,错误一般是由系统虚拟机造成的。运行异常即是RuntimeException,其余的全部是编译异常。异常一定是错误,而错误不一定是异常。最根本区别就是异常能被开发人员处理而错误是系统本身自带的,一般无法处理也不需要我们程序员来处理。8.软件工程,你理解的软件工程是什么9.生命周期软件生命周期,分为3个时期,共8个阶段。第一个时期,软件定义。包括问题定义、可行性研究、需求分析。第二个时期,软件开发,分为两个阶段,系统设计(概要设计、详细设计);系统实现(编码和单元测试、综合测试)。第三个时期,软件维护。10.瀑布模型的缺点,迭代模型的缺点(那个迭代模型是我在回答瀑布模型的缺点的时候提出来的,然后他又顺着我问迭代模型的缺点)瀑布模型特点:(1)阶段间具有顺序性和依赖性必须等前一阶段的工作完成之后,才能开始后一阶段的工作;前一阶段的输出文档就是后一阶段的输入文档(2)推迟实现的观点(3)质量保证的观点瀑布模型优点:(1)可强迫开发人员采用规范的方法(2)严格规定每个阶段必须提交的文档(3)每个阶段交出的所有产品必须经过质量保证小组的仔细验证瀑布模型缺点:瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。11.机器学习机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。12.自己所知道的NLP算法13.软件工程除了学编程还学什么,本科学了关于软件工程的什么课程14.java有虚拟机java的虚拟机有什么好处有什么坏处Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。二、英语面试1.IT职业生涯的目标2.自我介绍3.南京大学能帮到你什么4.英语问了你学过哪些编程语言5.exception干啥的,c_强类型和弱类型的区别6.感兴趣的目标?项目遇到困难如何解决?7.最近取得的成就?印象为何深刻?经历了什么?8.软工在发展过程中的作用?录取以后的打算?9.为何选择南京大学?
本文标题:2017年南京大学软件学院研究生面试总结
链接地址:https://www.777doc.com/doc-3946745 .html