Principais perguntas e respostas de entrevista e testes online
Plataforma educacional para preparacao de entrevistas, testes online, tutoriais e pratica ao vivo

Desenvolva habilidades com trilhas de aprendizado focadas, simulados e conteudo pronto para entrevistas.

WithoutBook reune perguntas de entrevista por assunto, testes praticos online, tutoriais e guias comparativos em um unico espaco de aprendizado responsivo.

Preparar entrevista
Inicio / Assuntos de entrevista / Microsoft .NET
Entrevistas simuladas LIVE da WithoutBook Microsoft .NET Assuntos de entrevista relacionados: 5

Interview Questions and Answers

Conheca as principais perguntas e respostas de entrevista de Microsoft .NET para iniciantes e candidatos experientes e prepare-se para entrevistas de emprego.

Total de perguntas: 60 Interview Questions and Answers

A melhor entrevista simulada ao vivo para assistir antes de uma entrevista

Conheca as principais perguntas e respostas de entrevista de Microsoft .NET para iniciantes e candidatos experientes e prepare-se para entrevistas de emprego.

Interview Questions and Answers

Pesquise uma pergunta para ver a resposta.

Perguntas e respostas de nivel iniciante / recem-formados

Pergunta 6

Write a hello world console application.

using System;
namespace Console1
{
class Class1
{
[STAThread] // No longer needed
static void Main(string[] args)
{
Console.WriteLine("Hello world");
}
}
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 9

What is a destructor?

A C# destuctor is not like a C++ destructor. It is actually an override for Finalize(). This
is called when the garbage collector discovers that the object is unreachable. Finalize()
is called before any memory is reclaimed.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 16

What is a heap and a stack?

There are 2 kinds of heap – 1: a chunk of memory where data is stored and 2: a tree
based data structure. When we talk about the heap and the stack we mean the first kind
of heap. The stack is a LIFO data structure that stores variables and flow control
information. Typically each thread will have its own stack.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 19

What is a struct?

Unlike in C++ a struct is not a class – it is a value type with certain restrictions. It is
usually best to use a struct to represent simple entities with a few variables. Like a Point
for example which contains variables x and y.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios

Perguntas e respostas de nivel intermediario / de 1 a 5 anos de experiencia

Pergunta 27

What is a reference parameter?

Reference parameters reference the original object whereas value parameters make a
local copy and do not affect the original. Some example code is shown:
using System;
namespace Console1
{
class Class1
{
static void Main(string[] args)
{
TestRef tr1 = new TestRef();
TestRef tr2 = new TestRef();
tr1.TestValue = "Original value";
tr2.TestValue = "Original value";
int tv1 = 1;
int tv2 = 1;
TestRefVal(ref tv1, tv2, ref tr1, tr2);
Console.WriteLine(tv1);
Console.WriteLine(tv2);
Console.WriteLine(tr1.TestValue);
Console.WriteLine(tr2.TestValue);
Console.ReadLine();
}
static public void TestRefVal(ref int tv1Parm,
int tv2Parm,
ref TestRef tr1Parm,
TestRef tr2Parm)
{
tv1Parm = 2;
tv2Parm = 2;
tr1Parm.TestValue = "New value";
tr2Parm.TestValue = "New value";
}
}
}
class TestRef
{
public string TestValue;
}
The output for this is:
2
1
New value
New value
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 30

What is a delegate?

A delegate in C# is like a function pointer in C or C++. A delegate is a variable that calls
a method indirectly, without knowing its name. Delegates can point to static or/and
member functions. It is also possible to use a multicast delegate to point to multiple
functions.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 31

Write some code to use a delegate.

Member function with a parameter
using System;
namespace Console1
{
class Class1
{
delegate void myDelegate(int parameter1);
static void Main(string[] args)
{
MyClass myInstance = new MyClass();
myDelegate d = new myDelegate(myInstance.AMethod);
d(1); // <--- Calling function without knowing its name.
Test2(d);
Console.ReadLine();
}
static void Test2(myDelegate d)
{
d(2); // <--- Calling function without knowing its name.
}
}
class MyClass
{
public void AMethod(int param1)
{
Console.WriteLine(param1);
}
}
}
Multicast delegate calling static and member functions
using System;
namespace Console1
{
class Class1
{
delegate void myDelegate(int parameter1);
static void AStaticMethod(int param1)
{
Console.WriteLine(param1);
}
static void Main(string[] args)
{
MyClass myInstance = new MyClass();
myDelegate d = null;
d += new myDelegate(myInstance.AMethod);
d += new myDelegate(AStaticMethod);
d(1); //both functions will be run.
Console.ReadLine();
}
}
class MyClass
{
public void AMethod(int param1)
{
Console.WriteLine(param1);
}
}
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 32

What is a value type and a reference type?

A reference type is known by a reference to a memory location on the heap.
A value type is directly stored in a memory location on the stack. A reference type is
essentially a pointer, dereferencing the pointer takes more time than directly accessing
the direct memory location of a value type.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 39

What is checked { } and unchecked { }?

By default C# does not check for overflow (unless using constants), we can use
checked to raise an exception. E.g.:
static short x = 32767; // Max short value
static short y = 32767;
// Using a checked expression
public static int myMethodCh()
{
int z = 0;
try
{
z = checked((short)(x + y));
//z = (short)(x + y);
}
catch (System.OverflowException e)
{
System.Console.WriteLine(e.ToString());
}
return z; // Throws the exception OverflowException
}
This code will raise an exception, if we remove unchecked as in:
//z = checked((short)(x + y));
z = (short)(x + y);
Then the cast will raise no overflow exception and z will be assigned –2. unchecked can
be used in the opposite way, to say avoid compile time errors with constanst overflow.
E.g. the following will cause a compiler error:
const short x = 32767; // Max short value
const short y = 32767;
public static int myMethodUnch()
{
int z = (short)(x + y);
return z; // Returns -2
}
The following will not:
const short x = 32767; // Max short value
const short y = 32767;
public static int myMethodUnch()
{
int z = unchecked((short)(x + y));
return z; // Returns -2
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 42

What is the difference between the new operator and modifier?

The new operator creates an instance of a class whereas the new modifier is used to
declare a method with the same name as a method in one of the parent classes.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 44

Contrast ++count vs. count++.

Some operators have temporal properties depending on their placement. E.g.
double x;
x = 2;
Console.Write(++x);
x = 2;
Console.Write(x++);
Console.Write(x);
Returns
323
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios

Perguntas e respostas de nivel experiente / especialista

Pergunta 45

.NET Stands for?

About 10 years ago, I was part of the large team in Redmond working on the set of projects which became ".net". This was during the time the decisions were being made about what to name this work. I can tell you from first-hand experience that ".net" is not an acroynm.

Instead, the James Kovacs blog post that Jim W posted is accurate: ".net" was one of many names that the teams cycled through (and thankfully rejected) before settling on ".net". The name was chosen because it:

mirrored the domain suffix of (at the time) every ISP, so was intended to remind users that "web-enabling your software" was the core scenario being targetted by this work
was more approachable to business types and CIOs than geekier names like "Universal Runtime" or "COM+ 2.0"
had practical benefits like: being short, easy to spell, globalized well, could leverage already-owned domain names for every Microsoft product, etc.
actually passed legal/trademark review (surprisingly difficult!)
So it was intended to mean something, but more so by connotation rather than directly abbreviating or describing something. In other words, the name was only partly marketing nonsense! ;-)

More trivia

I don't remember the exact positioning (it's been 10 years!), but I believe that the name ".net" was supposed cover three basic things:

".net Framework" - a new framework for writing web-enabled apps
".net web services" - a way of accessing Microsoft (and others') software over the web programmatically using open standards and protocols (anyone remember "Hailstorm"?)
".net enterprise servers" - a set of products which made bulding web-enabled applications easier.
In practice, only the first meaning stuck with users. The others morphed into other names (e.g. "Windows Server System") or were genericized by the public (e.g. "web services", SOA, etc.). Anyway, that's why you don't see Microsoft products named "<product name here>.NET Server" any more-- Microsoft wisely decided to limit the ".net" name to the things that developers actually thought of as ".net"!

BTW, in addition to being short and easy to spell and say, ".net" as a name also helped with the web services strategy which Microsoft was persuing at the time, which revolved around (and still does) offering software which was also available in the cloud. The idea was that we'd have, for example, Office.com for a hosted UI version, and Office.net for the APIs. The name also was convenient since Microsoft already owned the .net domain-name variants for every microsoft product.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 48

A class can have many mains, how does this work?

Only one of them is run, that is the one marked (public) static, e.g:
public static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
}
private void Main(string[] args, int i)
{
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 50

What is an out parameter?

An out parameter allows an instance of a parameter object to be made inside a method.
Reference parameters must be initialised but out gives a reference to an uninstanciated
object.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 51

Write code to show how a method can accept a varying number of parameters.

using System;
namespace Console1
{
class Class1
{
static void Main(string[] args)
{
ParamsMethod(1,"example");
ParamsMethod(1,2,3,4);
Console.ReadLine();
}
static void ParamsMethod(params object[] list)
{
foreach (object o in list)
{
Console.WriteLine(o.ToString());
}
}
}
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 55

Events use a publisher/subscriber model. What is that?

Objects publish events to which other applications subscribe. When the publisher raises
an event all subscribers to that event are notified.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 56

Can a subscriber subscribe to more than one publisher?

Yes, also - here's some code for a publisher with multiple subscribers.
using System;
namespace Console1
{
class Class1
{
delegate void myDelegate(int parameter1);
static event myDelegate myEvent;
static void AStaticMethod(int param1)
{
Console.WriteLine(param1);
}
static void Main(string[] args)
{
MyClass myInstance = new MyClass();
myEvent += new myDelegate(myInstance.AMethod);
myEvent += new myDelegate(AStaticMethod);
myEvent(1); //both functions will be run.
Console.ReadLine();
}
}
class MyClass
{
public void AMethod(int param1)
{
Console.WriteLine(param1);
}
}
}
Another example:
using System;
using System.Threading;
namespace EventExample
{
public class Clock
{
public delegate void TwoSecondsPassedHandler(object clockInstance,
TimeEventArgs time);
//The clock publishes an event that others subscribe to
public event TwoSecondsPassedHandler TwoSecondsPassed;
public void Start()
{
while(true)
{
Thread.Sleep(2000);
//Raise event
TwoSecondsPassed(this, new TimeEventArgs(1));
}
}
}
public class TimeEventArgs : EventArgs
{
public TimeEventArgs(int second)
{
seconds += second;
instanceSeconds = seconds;
}
private static int seconds;
public int instanceSeconds;
}
public class MainClass
{
static void Main(string[] args)
{
Clock cl = new Clock();
// add some subscribers
cl.TwoSecondsPassed += new
Clock.TwoSecondsPassedHandler(Subscriber1);
cl.TwoSecondsPassed += new
Clock.TwoSecondsPassedHandler(Subscriber2);
cl.Start();
Console.ReadLine();
}
public static void Subscriber1(object clockInstance, TimeEventArgs time)
{
Console.WriteLine("Subscriber1:" + time.instanceSeconds);
}
public static void Subscriber2(object clockInstance, TimeEventArgs time)
{
Console.WriteLine("Subscriber2:" + time.instanceSeconds);
}
}
}
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios
Pergunta 59

What is explicit vs. implicit conversion?

When converting from a smaller numeric type into a larger one the cast is implicit. An
example of when an explicit cast is needed is when a value may be truncated.
Salvar para revisao

Salvar para revisao

Adicione este item aos favoritos, marque-o como dificil ou coloque-o em um conjunto de revisao.

Abrir minha biblioteca de aprendizado
Isto e util?
Adicionar comentario Ver comentarios

Mais uteis segundo os usuarios:

Copyright © 2026, WithoutBook.