中国移动云能力中心校招面试总结

一、中移(苏州)测试/测试开发 (一面)

      手机腾讯会议进行视频面试,有2个面试官(刚进去的时候我还以为另一个也是求职者呢,还脑补了一些情节,O(∩_∩)O哈哈~),面试内容流程如下:

1. 自我介绍

      自我介绍时间限制在3分钟,这个内容因人而异。

2. 面试问题

      基本上是根据你的简历内容去问,不排除面试官有特别想问的。我的面试前面问的我的简历几乎没有提到,后面是根据简历问的。下面附上我的面试问题:

  • 问题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++中的结构体和类的异同:

      一、相同之处:结构体中可以包含函数;也可以定义publicprivateprotected数据成员;定义了结构体之后,可以用结构体名来创建对象。但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来结束自己的生命的。
      全局存储区(静态存储区)全局变量静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。
      常量存储区:这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改。

  • 问题3:考察的是数据库的增删查改问题,回头把相关内容看一下即可。
  • 问题4:设计模式

      总共有23种设计模式。
      创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

      结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

      行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

  • 问题5:工厂方法代码与UML图,以及它是解决什么问题的?:

      工厂方法模式由抽象工厂具体工厂抽象产品具体产品等4个要素构成。
      工厂方法模式的主要角色如下。
      抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。
      具体工厂(ConcreteFactory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
      抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。
      具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应。
在这里插入图片描述

package FactoryMethod;

public class AbstractFactoryTest {
    public static void main(String[] args) {
        try {
            Product a;
            AbstractFactory af;
            af = (AbstractFactory) ReadXML1.getObject();
            a = af.newProduct();
            a.show();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

//抽象产品:提供了产品的接口
interface Product {
    public void show();
}

//具体产品1:实现抽象产品中的抽象方法
class ConcreteProduct1 implements Product {
    public void show() {
        System.out.println("具体产品1显示...");
    }
}

//具体产品2:实现抽象产品中的抽象方法
class ConcreteProduct2 implements Product {
    public void show() {
        System.out.println("具体产品2显示...");
    }
}

//抽象工厂:提供了产品的生成方法
interface AbstractFactory {
    public Product newProduct();
}

//具体工厂1:实现了产品的生成方法
class ConcreteFactory1 implements AbstractFactory {
    public Product newProduct() {
        System.out.println("具体工厂1生成-->具体产品1...");
        return new ConcreteProduct1();
    }
}

//具体工厂2:实现了产品的生成方法
class ConcreteFactory2 implements AbstractFactory {
    public Product newProduct() {
        System.out.println("具体工厂2生成-->具体产品2...");
        return new ConcreteProduct2();
    }
}


ackage FactoryMethod;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;

class ReadXML1 {
    //该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象
    public static Object getObject() {
        try {
            //创建文档对象
            DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = dFactory.newDocumentBuilder();
            Document doc;
            doc = builder.parse(new File("src/FactoryMethod/config1.xml"));
            //获取包含类名的文本节点
            NodeList nl = doc.getElementsByTagName("className");
            Node classNode = nl.item(0).getFirstChild();
            String cName = "FactoryMethod." + classNode.getNodeValue();
            //System.out.println("新类名:"+cName);
            //通过类名生成实例对象并将其返回
            Class<?> c = Class.forName(cName);
            Object obj = c.newInstance();
            return obj;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

      工厂方法用来解决接口的问题。
      再后面的问题就是自己项目和比赛的东西了,不多加赘述。这里面提醒自己一下,面试官问你有什么问题时,可以把面试官问的问题,自己不会的再抛过去问一下,这样自己又学会了很多东西。然后根据面试官问的问题,他前面都在问C++的基础,所以想了解一下贵公司主要做什么产品开发,用的是什么语言

二、中移(苏州)测试/测试开发 (二面HR面)

      腾讯会议进行视频面试,有一个等待过程。进去会议后有一位面试官。下面讲一下我二面的全过程。
      首先,打开视频过后,面试官让我对着镜头走一圈(应该是想看看仪态什么的),接着就是自我介绍了,全程没有限制我的时间,直到我讲完。我觉得面试官人挺好的。
      自我介绍完,就开始问问题了:本科是不是第一批?硕士研究生是统招全日制吗?现在有offer了吗?然后要让我把身份证拿出来给他看看(应该是需要确认是不是我本人。),最后问了一个问题:为什么选择我们公司?

三、中移(苏州)测试/测试开发 (三面)

      腾讯会议视频面试,一位面试官,基本问的就是你所投岗位技术相关的问题。下面讲一下我三面的全过程。
      首先自我介绍。
      自我介绍完,就开始问问题了,下面对所问问题做一个总结:

  • 问题1:你的自我介绍里面没有讲到你在技术方面是如何能胜任这个岗位的,你觉得在技术方面,你有哪些优势?

  • 问题2:你有过实习经验吗?

  • 问题3:会使用哪些工具进行测试?

  • 问题4:如何用Jmeter做接口测试?

  • 问题5:能讲一下post与put的区别吗?

  • 问题6:一般使用什么工具进行负载测试?怎么做?

  • 问题7:给你一个产品,你怎么去设计测试用例的?

  • 问题8:你对我们公司的产品有了解吗?

  • 问题9:你了解我们公司吗?

  • 问题10:你进入到我们公司后,如何开展测试工作?

  • 问题11:一个大型网站,比如淘宝,一个时间段访问量特别多,数据量什么什么压测?不记得怎么问的了。

  • 问题12:你有什么问题想问我们的吗?

  • 问题5 回答:post与put的区别:PUT请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉。(所以PUT用来改资源)Post请求:后一个请求不会把第一个请求覆盖掉。(所以Post用来增资源)

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值