我是靠谱客的博主 谦让机器猫,最近开发中收集的这篇文章主要介绍【工程基础】校招研发工程师笔试题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

请留言,说出你的解题思路和答案。稍后,我会把参考答案发到留言区。不定期整理相关的问题答案分享。

1、以下代码违反了什么设计原则()

public class Student
{
    public int Id;
    public string StudentName;
}

public class MClass
{
    public int Id;
    public string ClassName;
    public List<Student> students = new List<Student>();
    public void print()
    {
        foreach(Student stu in students)
        {
            Console.WriteLine("student id:{0},student name{1}", stu.Id, stu.StudentName);
        }
    }
}

public class School
{
    public int Id;
    public string SchoolName;
    public List<MClass> mClasses = new List<MClass>();
    public void Print()
    {
        Console.WriteLine("school id:{0},school name{1}", Id, SchoolName);
        foreach (MClass mclss in mClasses)
        {
            Console.WriteLine("class id:{0},class name{1}", mclss.Id, mclss.ClassName);
            List<Student> students = mclss.students;

            foreach (Student stu in students)
            {
                Console.WriteLine("student id:{0},student name{1}", stu.Id, stu.StudentName);
            }
        }
    }
}
  • A. 依赖倒转原则
  • B. 接口隔离原则
  • C. 合成复用原则
  • D. 迪米特法则

2、以下代码违反的原则是()

public class Chart
{
    private string _type;
    private double[][] _data;
    
    public Chart(double[][] data, string type)
    {
        _type = type.ToLower();
        _data = data;
        if (_type == "histogram")
        {
            //初始化柱状图
        }
        else if (_type == "pie")
        {
            //初始化饼状图
        }
        else if (_type=="line")
        {
            //初始化折线图
        }
    }
    
    public void Display()
    {
        if (_type == "histogram")
        {
            //显示柱状图
        }
        else if (_type == "pie")
        {
            //显示饼状图
        }
        else if (_type == "line")
        {
            //显示折线图
        }
    }
}
  • A. 开闭原则,迪米特法则
  • B. 开闭原则,单一职责原则
  • C. 单一职责原则,里氏代换原则
  • D. 依赖倒转原则,合成复用原则

3、以下代码是对哪种设计模式的简化()

abstract class Product
{
    public Product CreateProduct(string type)
    {
        Product product = default(Product);
        switch (type.ToLower())
        {
            case "a":
                product = new ProductA();
                break;
            case "b":
                product = new ProductB();
                break;
        }
        return product;
    }
}
class ProductA : Product
{
}
class ProductB : Product
{
}
  • A. 工厂方法模式
  • B. 单件模式
  • C. 简单工厂模式
  • D. 抽象工厂模式

4、下列关于单例模式错误的说法是()。

  • A. 为了防止在外部对其实例化,将其构造函数设计为私有。
  • B. 在单例类内部定义一个Singleton类型的静态对象,作为外部共享的唯一实例。
  • C. 在单例类的内部实现只生成一个实例,同时它提供一个静态的GetInstance()工厂方法,让客户可以访问它的唯一实例。
  • D. 懒汉式单例类无须考虑多线程访问问题。

5、下面不属于创建型模式的有()

  • A. 抽象工厂模式(Abstract Factory)
  • B. 工厂方法模式(Factory Method)
  • C. 适配器模式(Adapter)
  • D. 单例模式(Singleton)

最后

以上就是谦让机器猫为你收集整理的【工程基础】校招研发工程师笔试题的全部内容,希望文章能够帮你解决【工程基础】校招研发工程师笔试题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部