Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

search topic

Thursday, April 17, 2008

C# Interview Questions

The Questions\Tasks:

  1. Name 10 C# keywords.
  2. What is public accessibility?
  3. What is protected accessibility?
  4. What is internal accessibility?
  5. What is protected internal accessibility?
  6. What is private accessibility?
  7. What is the default accessibility for a class?
  8. What is the default accessibility for members of an interface?
  9. What is the default accessibility for members of a struct?
  10. Can the members of an interface be private?
  11. Methods must declare a return type, what is the keyword used when nothing is returned from the method?
  12. Class methods to should be marked with what keyword?
  13. Write some code using interfaces, virtual methods, and an abstract class.
  14. A class can have many mains, how does this work?
  15. Does an object need to be made to run main?
  16. Write a hello world console application.
  17. What are the two return types for main?
  18. What is a reference parameter?
  19. What is an out parameter?
  20. Write code to show how a method can accept a varying number of parameters.
  21. What is an overloaded method?
  22. What is recursion?
  23. What is a constructor?
  24. If I have a constructor with a parameter, do I need to explicitly create a default constructor?
  25. What is a destructor?
  26. Can you use access modifiers with destructors?
  27. What is a delegate?
  28. Write some code to use a delegate.
  29. What is a delegate useful for?
  30. What is an event?
  31. Are events synchronous of asynchronous?
  32. Events use a publisher/subscriber model. What is that?
  33. Can a subscriber subscribe to more than one publisher?
  34. What is a value type and a reference type?
  35. Name 5 built in types.
  36. string is an alias for what?
  37. Is string Unicode, ASCII, or something else?
  38. Strings are immutable, what does this mean?
  39. Name a few string properties.
  40. What is boxing and unboxing?
  41. Write some code to box and unbox a value type.
  42. What is a heap and a stack?
  43. What is a pointer?
  44. What does new do in terms of objects?
  45. How do you dereference an object?
  46. In terms of references, how do == and != (not overridden) work?
  47. What is a struct?
  48. Describe 5 numeric value types ranges.
  49. What is the default value for a bool?
  50. Write code for an enumeration.
  51. Write code for a case statement.
  52. Is a struct stored on the heap or stack?
  53. Can a struct have methods?
  54. What is checked { } and unchecked { }?
  55. Can C# have global overflow checking?
  56. What is explicit vs. implicit conversion?
  57. Give examples of both of the above.
  58. Can assignment operators be overloaded directly?
  59. What do operators is and as do?
  60. What is the difference between the new operator and modifier?
  61. Explain sizeof and typeof.
  62. What does the stackalloc operator do?
  63. Contrast ++count vs. count++.
  64. What are the names of the three types of operators?
  65. An operator declaration must include a public and static modifier, can it have other modifiers?
  66. Can operator parameters be reference parameters?
  67. Describe an operator from each of these categories:
    Arithmetic
    Logical (boolean and bitwise)
    String concatenation
    Increment, decrement
    Shift
    Relational
    Assignment
    Member access
    Indexing
    Cast
    Conditional
    Delegate concatenation and removal
    Object creation
    Type information
    Overflow exception control
    Indirection and Address
  68. What does operator order of precedence mean?
  69. What is special about the declaration of relational operators?
  70. Write some code to overload an operator.
  71. What operators cannot be overloaded?
  72. What is an exception?
  73. Can C# have multiple catch blocks?
  74. Can break exit a finally block?
  75. Can continue exit a finally block?
  76. Write some try…catch…finally code.
  77. What are expression and declaration statements?
  78. A block contains a statement list {s1;s2;} what is an empty statement list?
  79. Write some if… else if… code.
  80. What is a dangling else?
  81. Is switch case sensitive?
  82. Write some code for a for loop.
  83. Can you have multiple control variables in a for loop?
  84. Write some code for a while loop.
  85. Write some code for do… while.
  86. Write some code that declares an array on ints, assigns the values: 0,1,2 to that array and use a foreach to do something with those values.
  87. Write some code for a collection class.
  88. Describe Jump statements: break, continue, and goto.
  89. How do you declare a constant?
  90. What is the default index of an array?
  91. What is array rank?
  92. Can you resize an array at runtime?
  93. Does the size of an array need to be defined at compile time.
  94. Write some code to implement a multidimensional array.
  95. Write some code to implement a jagged array.
  96. What is an ArrayList?
  97. Can an ArrayList be ReadOnly?
  98. Write some code that uses an ArrayList.
  99. Write some code to implement an indexer.
  100. Can properties have an access modifier?
  101. Can properties hide base class members of the same name?
  102. What happens if you make a property static?
  103. Can a property be a ref or out parameter?
  104. Write some code to declare and use properties.
  105. What is an accessor?
  106. Can an interface have properties?
  107. What is early and late binding?
  108. What is polymorphism
  109. What is a nested class?
  110. What is a namespace?
  111. Can nested classes use any of the 5 types of accessibility?
  112. Can base constructors can be private?
  113. object is an alias for what?
  114. What is reflection?
  115. What namespace would you use for reflection?
  116. What does this do? Public Foo() : this(12, 0, 0)
  117. Do local values get garbage collected?
  118. Is object destruction deterministic?
  119. Describe garbage collection (in simple terms).
  120. What is the using statement for?
  121. How do you refer to a member in the base class?
  122. Can you derive from a struct?
  123. Does C# supports multiple inheritance?
  124. All classes derive from what?
  125. Is constructor or destructor inheritance explicit or implicit? What does this mean?
  126. Can different assemblies share internal access?
  127. Does C# have “friendship”?
  128. Can you inherit from multiple interfaces?
  129. In terms of constructors, what is the difference between: public MyDerived() : base() an public MyDerived() in a child class?
  130. Can abstract methods override virtual methods?
  131. What keyword would you use for scope name clashes?
  132. Can you have nested namespaces?
  133. What are attributes?
  134. Name 3 categories of predefined attributes.
  135. What are the 2 global attributes.
  136. Why would you mark something as Serializable?
  137. Write code to define and use your own custom attribute.
  138. List some custom attribute scopes and possible targets.
  139. List compiler directives?
  140. What is a thread?
  141. Do you spin off or spawn a thread?
  142. What is the volatile keyword used for?
  143. Write code to use threading and the lock keyword.
  144. What is Monitor?
  145. What is a semaphore?
  146. What mechanisms does C# have for the readers, writers problem?
  147. What is Mutex?
  148. What is an assembly?
  149. What is a DLL?
  150. What is an assembly identity?
  151. What does the assembly manifest contain?
  152. What is IDLASM used for?
  153. Where are private assemblies stored?
  154. Where are shared assemblies stored?
  155. What is DLL hell?
  156. In terms of assemblies, what is side-by-side execution?
  157. Name and describe 5 different documentation tags.
  158. What is unsafe code?
  159. What does the fixed statement do?
  160. How would you read and write using the console?
  161. Give examples of hex, currency, and fixed point console formatting.
  162. Given part of a stack trace: aspnet.debugging.BadForm.Page_Load(Object sender, EventArgs e) +34. What does the +34 mean?
  163. Are value types are slower to pass as method parameters?
  164. How can you implement a mutable string?
  165. What is a thread pool?
  166. Describe the CLR security model.
  167. What’s the difference between camel and pascal casing?
  168. What does marshalling mean?
  169. What is inlining?
  170. List the differences in C# 2.0.
  171. What are design patterns?
  172. Describe some common design patterns.
  173. What are the different diagrams in UML? What are they used for?

No comments: