Questions 1 - 7 of 7
Close
Flag this interview question as inappropriate Inappropriate
See Answer

structures can be passed by reference.

they can be returned as pointers.

Create Date
:
Saturday, March 15, 2008
Asked At
:
None
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (0) :
Goto add your comment on the Question 
Flag this interview question as inappropriate Inappropriate
See Answer

A boxing conversion permits any value-type to be implicitly converted to the type object or to any
interface-type implemented by the value-type. Boxing a value of a value-type consists of allocating an object instance and copying the value-type
value into that instance.

For example any value-type H, the boxing class would be declared as follows:

class vBox
{
  H value;
  H_Box(H h)
  {
   value = h;
  }
}

Boxing of a value v of type H now consists of executing the expression new H_Box(v), and returning the
resulting instance as a value of type object.
Thus, the statements
int i = 12;
object box = i;

conceptually correspond to
int i = 12;
object box = new int_Box(i);

Boxing classes like H_Box and int_Box above don't actually exist and the dynamic type of a boxed value
isn't actually a class type. Instead, a boxed value of type G has the dynamic type G, and a dynamic type check using the is operator can simply reference type G.

For example,

int i = 12;
object box = i;
if (box is int)
{
  Console.Write("Box contains an int");
}

will output the string  Box contains an int on the console.

A boxing conversion implies making a copy of the value being boxed. This is different from a conversion
of a reference-type to type object, in which the value continues to reference the same instance and
simply is regarded as the less derived type object.

For example, given the declaration

struct Point
{
  public int x, y;
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
  }
}

the following statements
Point p = new Point(10, 10);
object box = p;
p.x = 20;
Console.Write(((Point)box).x);
will output the value 10 on the console because the implicit boxing operation that occurs in the
assignment of p to box causes the value of p to be copied. Had Point instead been declared a class, the
value 20 would be output because p and box would reference the same instance.

Create Date
:
Tuesday, June 10, 2008
Tags
:
Asked At
:
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (1) :
1.
tt2tt
Thursday, July 03, 2008 10:19 PM
what is boxing in real life :-)
Flag this interview question as inappropriate Inappropriate
See Answer
Process of returning a modulated signal to its original form. Modems perform demodulation by taking an analog signal and returning it to its original (digital) form.
Create Date
:
Saturday, May 10, 2008
Tags
:
Asked At
:
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (0) :
Goto add your comment on the Question 
Flag this interview question as inappropriate Inappropriate
See Answer
Dispatcher (Dnnn) process is responsible for routing requests from connected user processes to available shared server processes and returning the responses back to the appropriate user processes.
Create Date
:
Saturday, May 10, 2008
Asked At
:
None
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (0) :
Goto add your comment on the Question 
Flag this interview question as inappropriate Inappropriate
See Answer
A dangling pointer arises when you use the address of an object after its lifetime is over. This may occur in situations like returning addresses of the automatic variables from a function or using the address of the memory block after it is freed.
Create Date
:
Sunday, April 27, 2008
Tags
:
Asked At
:
None
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (0) :
Goto add your comment on the Question 
Flag this interview question as inappropriate Inappropriate
See Answer

Structure Padding
Most processors require specific memory alignment on variables certain types. Normally the minimum alignment is the size of the basic type in question, fo instance this is common
char variables can be byte aligned and appear at any byte boundary
short (2 byte) variables must be 2 byte aligned, they can appear at any even byte boundary. This means that 0x10004567 is not a valid location for a short variable but 0x10004566 is.
long (4 byte) variables must be 4 byte aligned, they can only appear at byte boundarys that are a multiple of 4 bytes. This means that 0x10004566 is not a valid location for a long variable but 0x10004568 is.
Structure padding occurs because the members of the structure must appear at the correect byte boundary, to achieve this the compiler puts in padding bytes (or bits if bit fields are in use) so that the structure members appear in the correct location. Additionally the size of the structure must be such that in an array of the structures all the structures are correctly aligned in memory so there may be padding bytes at the end of the structure too
struct example {
char c1;
short s1;
char c2;
long l1;
char c3;
}
In this structure, assuming the alignment scheme I have previously stated then
c1 can appear at any byte boundary, however s1 must appear at a 2 byte boundary so there is a padding byte between c1 and s1.
c2 can then appear in the available memory location, however l1 must be at a 4 byte boundary so there are 3 padding bytes between c2 and l1
c3 then appear in the available memory location, however because the structure contains a long member the structure must be 4 byte aligned and must be a multiple of 4 bytes in size. Therefore there are 3 padding bytes at the end of the structure. it would appear in memory in this order
c1
padding byte
s1 byte 1
s1 byte 2
c2
padding byte
padding byte
padding byte
l1 byte 1
l1 byte 2
l1 byte 3
l1 byte 4
c3
padding byte
padding byte
padding byte
The structure would be 16 bytes long.
re-written like this
struct example {
long l1;
short s1;
char c1;
char c2;
char c3;
}

Then l1 appears at the correct byte alignment, s1 will be correctly aligned so no need for padding between l1 and s1. c1, c2, c3 can appear at any location. The structure must be a multiple of 4 bytes in size since it contains a long so 3 padding bytes appear after c3
It appears in memory in the order
l1 byte 1
l1 byte 2
l1 byte 3
l1 byte 4
s1 byte 1
s1 byte 2
c1
c2
c3
padding byte
padding byte
padding byte
and is only 12 bytes long.

I should point out that structure packing is platform and compiler (and in some cases compiler switch) dependent.
For info abt memory pools and memory leaks

Memory Pools are just a section of memory reserved for allocating temporarily to other parts of the application
A memory leak occurs when you allocate some memory from the heap(or a pool) and then delete all references to that memory without returning it to the pool it was allocated from.

Create Date
:
Saturday, March 15, 2008
Tags
:
Asked At
:
None
Job Positions
:
Click here to improve the Interview Question, Answer and other fields.
Comments (0) :
Goto add your comment on the Question 
Flag this interview question as inappropriate Inappropriate
See Answer