中经云面试 中国移动云能力中心校招面试总结
下面是好好范文网小编收集整理的中经云面试 中国移动云能力中心校招面试总结,仅供参考,欢迎大家阅读!
手机腾讯会议进行视频面试,有2个面试官(刚进去的时候我还以为另一个也是求职者呢,还脑补了一些情节,O(∩_∩)O哈哈~),面试内容流程如下:
自我介绍
自我介绍时间限制在3分钟,这个内容因人而异。
面试问题
基本上是根据你的简历内容去问,不排除面试官有特别想问的。我的面试前面问的我的简历几乎没有提到,后面是根据简历问的。下面附上我的面试问题:
问题1:C++中struct与class有什么区别?
问题2:C++中的数据类型哪些是存放在堆里面,哪些是存放在栈里面的?
问题3:给你一个表格,怎么用SQL语言去查找这个表格的前三行?
问题4:设计模式总共有多少种,分别说一下?
问题5:工厂方法的代码能手写一下吗?后来又改成让我口述了.
问题6:工厂方法主要是用来解决什么问题的?
问题7:我看你的简历里面介绍了Java开发的《学生信息管理系统》,能具体说一下吗?
问题8:MVC模式中M,V,C分别指什么?
问题9:能具体说一下你参加过的互联网+获得银奖的那个项目是做什么的吗?
问题10:《BCI-VR工匠选拔》中unity游戏是用什么语言进行编写的?
问题11:列举一个例子,你在研究或者做项目时遇到困难,是如何自己独立解决并成功的?
问题12:你有什么问题想问我们的吗?
差不多能想起来的就这么多,我后来回来搜了一下答案,给自己涨一点知识吧
问题1:C++中的结构体和类的异同:
一、相同之处:结构体中可以包含函数;也可以定义public
、private
、protected
数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。
二、不同之处:结构体定义中默认情况下的成员是public
,而类定义中的默认情况下的成员是private
的。类中的非static
成员函数有this
指针,类的关键字class
能作为template
模板的关键字 即template<class T> class A;
而struct
不可以。
实际上,C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数),C++中的结构体和类体现了数据结构和算法的结合。
问题2:C++中哪些数据类型的成员变量是存放在堆里面,哪些是存放在栈里面的?
在c/c++中,内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面的变量通常是局部变量
、函数参数
等。
堆:就是那些由new
分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
自由存储区:就是那些由malloc
等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
全局存储区(静态存储区):全局变量
和静态变量
的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。
常量存储区:这是一块比较特殊的存储区,他们里面存放的是常量
,不允许修改。
问题4:设计模式
总共有23种设计模式。
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
问题5:工厂方法代码与UML图,以及它是解决什么问题的?:
工厂方法模式由抽象工厂、具体工厂、抽象产品和具体产品等4个要素构成。
工厂方法模式的主要角色如下。
抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。
具体工厂(ConcreteFactory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。
具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应。
package FactoryMethod;publicclassAbstractFactoryTest{publicstaticString args Product a; AbstractFactory af; af =(AbstractFactory) ReadXML1.getObject a = af.newProduct aException e){ System.out.println(e.getMessage//抽象产品:提供了产品的接口interfaceProduct{public//具体产品1:实现抽象产品中的抽象方法classConcreteProduct1implementsProduct{public System.out.println("具体产品1显示..."//具体产品2:实现抽象产品中的抽象方法classConcreteProduct2implementsProduct{public System.out.println("具体产品2显示..."//抽象工厂:提供了产品的生成方法interfaceAbstractFactory{public Product newProduct//具体工厂1:实现了产品的生成方法classConcreteFactory1implementsAbstractFactory{public Product newProduct System.out.println("具体工厂1生成-->具体产品1...");returnnewConcreteProduct1//具体工厂2:实现了产品的生成方法classConcreteFactory2implementsAbstractFactory{public Product newProduct System.out.println("具体工厂2生成-->具体产品2...");returnnewConcreteProduct2ackage FactoryMethod;import javax.xml.parsersimport org.w3c.domimport java.ioReadXML1{//该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象publicstatic Object getObject//创建文档对象 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance DocumentBuilder builder = dFactory.newDocumentBuilder Document doc; doc = builder"src/FactoryMethod/config1.xml"//获取包含类名的文本节点 NodeList nl = doc.getElementsByTagName("className"); Node classNode = nlgetFirstChild String cName ="FactoryMethod."+ classNode.getNodeValue//System.out.println("新类名:"+cName);//通过类名生成实例对象并将其返回 Class c = Class.forName(cName); Object obj = c.newInstancereturn objException e){ e.printStackTracereturn
工厂方法用来解决接口的问题。
再后面的问题就是自己项目和比赛的东西了,不多加赘述。这里面提醒自己一下,面试官问你有什么问题时,可以把面试官问的问题,自己不会的再抛过去问一下,这样自己又学会了很多东西。然后根据面试官问的问题,他前面都在问C++的基础,所以想了解一下贵公司主要做什么产品开发,用的是什么语言。