linkedin-skill-assessments-quizzes

C#

Q1. 在以下哪种情况下,接口比抽象类更好?

Q2. 关于委托,哪个陈述是正确的?

官方文档:委托

Q3. 哪个选择最好地定义了C#的异步编程模型?

官方文档:基于任务的异步编程模型 resposta correta --> var contacts = new List();

Q4. 你如何确定一个类是否有特定的属性?

var type = typeof(SomeType);
var attribute = type.GetCustomAttribute<SomeAttribute>();
var typeof(MyPresentationModel).Should().BeDecoratedWith<SomeAttribute>();
Attribute.GetCustomAttribute, typeof(SubControllerActionToViewDataAttribute)
Attribute.GetCustomAttribute(typeof(ExampleController), typeof(SubControllerActionToViewDataAttribute))
  1. 官方文档:Attribute类
  2. 官方文档:Attribute.GetCustomAttribute方法

Q5. ref和out关键字之间的区别是什么?

  1. 官方文档:ref
  2. 官方文档:out参数修饰符

Q6. 你如何检索关于类的信息,并在运行时创建实例?

官方文档:反射

Q7. 这段代码是什么例子?

    private static object objA;
    private static object objB;

    private static void performTaskA()
    {
        lock (objB)
        {
            Thread.Sleep(1000);
            lock (objA) { }
        }
    }

    private static void PerformTaskB()
    {
        lock (objA)
        {
            lock (objB) { }
        }
    }

官方文档:死锁和竞争条件

Q8. 匿名类型和常规数据类型之间的区别是什么?

官方文档:匿名类型

Q9. 在你的应用程序中,什么时候你会使用Dictionary而不是Array类型?

官方文档:Dictionary<TKey,TValue>类

Q10. a.Equals(b)和a == b之间的区别是什么?

  1. 官方文档:Object.Equals
  2. c-sharpcorner:相等运算符(==)与.Equals()

Q11. 哪个选择最好地描述了死锁情况?

官方文档:死锁和竞争条件

Q12. async关键字如何工作?

官方文档:async

Q13. C#中的对象是什么?

官方文档:对象

Q14. 哪个代码片段声明了一个名为userData的匿名类型?

官方文档:匿名类型

Q15. 当这个方法被执行时会返回什么?

public void userInput(string charParameters) { }

官方文档:void

Q16. 在这个例子中,员工姓名会以什么顺序打印到控制台?

string[] employees = { "Joe", "Bob", "Carol", "Alice", "Will" };

IEnumerable<string> employeeQuery = from person in employees
                                    orderby person
                                    select person;

foreach(string employee in employeeQuery)
{
    Console.WriteLine(employee);
}

dotnetpattern:LINQ OrderBy运算符

Q17. Lambda表达式经常与以下哪个一起使用?

官方文档:语言集成查询(LINQ)概述

Q18. 单行和多行注释的正确格式是什么?

w3schools:C#注释

Q19. 你如何使抽象类中的方法可重写?

  1. 官方文档:virtual
  2. 官方文档:abstract

Q20. 你如何为名为Age的整数属性编写带有getter和setter的代码?

官方文档:使用属性

Q21. 什么是抽象类?

官方文档:抽象和密封类及类成员

Q22. 使用线程池时,给定线程完成任务后会发生什么?

官方文档:线程池特征

Q23. 哪个选择表示从基类继承行为的类?

官方文档:继承

Q24. 运算符重载允许你做什么?

官方文档:运算符重载

Q25. LINQ的主要目的是什么?

官方文档:语言集成查询(LINQ)概述

Q26. 名为contacts的新字符串泛型列表的正确语法是什么?

[官方文档:List类](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=net-5.0)

Q27. throw exceptions和throw clauses之间的区别是什么?

  1. 官方文档:throw
  2. c-sharpcorner:Throw Exception和Throw Clause之间的区别

Q28. 当异步方法被执行时,代码运行但除了编译器警告外什么都没有发生。最可能导致方法不返回任何内容的原因是什么?

官方文档:并发启动任务

Q29. C#事件是什么?

官方文档:事件介绍

Q30. 数组可以存储什么类型的值?

官方文档:数组

Q31. 给定这个枚举,你如何访问’AppState.Loading’的整型值?

enum AppState { OffLine, Loading, Ready }

官方文档:枚举类型

Q32. 你会使用什么字符在单词边界开始正则表达式模式?

  1. regular-expressions:单词边界
  2. 官方文档:正则表达式语言 - 快速参考

Q33. 要符合以下接口,需要实现其哪些成员?

public interface INameable
{
    string FirstName { get; set; }
    string LastName { get; }
}

官方文档:interface

Q34. 你在程序中处理多个程序集,但担心内存分配。程序集在程序生命周期的什么时候加载到内存中?

  1. 官方文档:程序集加载
  2. Stackoverflow:程序集何时被加载?

Q35. 正则表达式的最准确描述是什么?

  1. 官方文档:正则表达式语言 - 快速参考
  2. 官方文档:.NET正则表达式

Q36. 为什么要在C#中使用类字段

官方文档:类介绍

Q37. 什么时候在代码中使用泛型?

官方文档:泛型类和方法

Q38. 当这段代码被执行时,什么会打印到控制台?

public delegate void AuthCallback(bool validUser);
public static AuthCallback loginCallback = Login;
public static void Login()
{
    Console.WriteLine("Valid user!");
}

public static void Main(string[] args)
{
    loginCallback(true);
}
  1. 官方文档:委托介绍
  2. 官方文档:事件介绍

Q39. 你如何声明一个名为User的密封类?

官方文档:抽象和密封类及类成员

Q40. 非静态类和静态类之间的区别是什么?

  1. stackoverflow
  2. 官方文档:静态构造函数

Q41. 哪个特征阻止这段代码编译?

public int age="28"

c-sharpcorner:.NET中的类型安全

Q42. 你如何序列化这个类?

public class User {}

官方文档:SerializableAttribute类

Q43. 你如何编写一个名为ResultCallback的委托,带有一个名为responseCode的int参数?

官方文档:委托

Q44. 静态方法和非静态方法之间的区别是什么?

官方文档:静态成员

Q45. 基于名为ResultCallback的委托,编写名为apiResult的事件的正确方法是什么?

官方文档:事件介绍

Q46. 在try-catch语句中,finally块中的代码什么时候执行?

官方文档:try-catch

Q47. 什么方法正确地扩展了string类?

Q48. C#类如何受到限制?

官方文档:类继承

Q49. 命名空间执行什么功能?

官方文档:namespace

Q50. 编写带有私有支持字段的公共属性的正确方法是什么?

private int _password;
pubic int Password = { get; set; }
private int _password;
public int Password = _password;
private int _password;
public int Password
{
  get -> _password;
  set-> _password = value;
}
private int _password;
public int Password
{
  get { return _password; }
  set { _password = value; }
}

官方文档:使用属性

Q51. 什么是线程池?

官方文档:ThreadPool类

Q52. 当C#中的对象被序列化时,它被转换为什么?

官方文档:序列化

Q53. 什么是委托

官方文档:委托

Q54. C#中与异常处理相关的四个关键字是什么?

Tutorial Point

Q55. is和as运算符之间的主要区别是什么?

Pluralsight指南

Q56. finally和finalize块之间的区别是什么?

C-sharpcorner

Q57. 你的应用程序有一个名为username的值类型,需要能够接受null值,但这会产生编译时错误。你如何在代码中修复这个问题?

Q58. 哪个代码片段正确声明了一个名为InvalidResponse的自定义异常?

官方文档:异常

Q59. 你如何编写一个名为AppState的枚举变量,值为Offline、Loading和Ready?

官方文档:Enum

Q60. 值类型和引用类型之间的主要区别是什么?

  1. 官方文档:值类型
  2. 官方文档:引用类型

Q61. breakcontinue关键字之间的区别是什么?

官方文档:跳转语句

Q62. 哪个代码片段正确声明了一个名为userId的变量,带有公共get和私有set

官方文档:属性

Q63. 关于虚拟方法,什么是正确的?

  1. 官方文档:virtual
  2. c-sharpcorner:C#中的虚拟方法

Q64. 如果你的程序中有多个线程访问同一资源,可能会发生什么?

官方文档:竞争条件

Q65. 你如何表示字符串可能为null?

官方文档:可空值类型

Q66. 在使用out变量之前需要声明它吗?

Q67. 你如何访问名为People的数组中的最后两个人?

解释:你可以在C#中这样做。但是,上述答案都不正确。你可以通过使用People[^2..]来访问最后两个项目。更多信息请参见issue #3354。 另见:官方文档:范围

Q68. 什么时候可以创建匿名类型?

C-sharpcorner:匿名类型

Q69. 关于线程多任务,什么是正确的?

官方文档:线程

Q70. 这个类字段有什么可访问性级别?

private string LastName;

官方文档:可访问性级别

Q71. 你如何正确声明一个名为’partyInvites’的锯齿数组,包含10个空元素?

官方文档:锯齿数组

Q72. 你如何暂停线程三秒钟?

参考

Q73. 这段代码有什么问题?

void MyFunction()
{
    {
        int a = 10;
        int b = 20;
        int c = a + b;
    }

    Console.WriteLine(c);
}

参考

Q74. 以下哪个语句是正确的?

参考

Q75. 如何从方法中返回多个值?

Q76. 哪个是派生类的有效示例?

Q77. 从名为 InputManager 的静态类调用名为 DebugString 的静态方法的正确方式是什么?

Q78. 可以给这个变量赋什么值?

public string? nickname

Q79. 什么是析构函数?

参考

Q80. 哪个代码片段正确声明了 Int32 类型的 CustomInt 类型别名?

参考

Q81. 什么是枚举类型?

Q82. readonly 关键字在字段声明中用于什么?

Q83. 关于 C# 方法的哪个语句是正确的?

官方文档:方法(C# 编程指南)

Q84. 哪个是有效的内置 C# 异常类?

官方文档:ArgumentNullException 类

Q85. C# 中接口的目的是什么?

官方文档:接口(C# 编程指南)

Q86. C# try-catch-finally 语句中 finally 块的主要目的是什么?

官方文档:try-catch(C# 参考)

Q87. C# 中哪个数据结构允许您存储键值对,通常用于快速数据检索?

官方文档:Dictionary<TKey, TValue> 类

Q88. 程序的执行从什么开始?

[参考]:https://www.gkseries.com/c-sharp-programming/multiple-choice-questions-and-answers

Q89. 在 C# 中 ‘using’ 是什么?

[参考]:https://www.gkseries.com/c-sharp-programming/multiple-choice-questions-and-answers