# HCL Interview Questions

Sample Test Paper

How many of the integers between 25 and 45 are even?
A) 21 B) 20 C) 11 D) 10 E) 9

If taxi fares were Rs.1.00 for the first 1/5 mile and Rs.0.20 for each 1/5 miles thereafter, the taxi fare for a 3-mile ride was
A) Rs.1.56 B) Rs.2.40 C) Rs.3.00 D) Rs.3.80 E) Rs.4.20

A computer routine was developed to generate two numbers (X, Y) the first being a random number between 0 and 100 inclusive, and the second being less than or equal to the square root of the first. Each of the following pairs satisfies the routine EXCEPT
A) (99.10) B) (85.9) C) (50.7) D) (1.1) E) (1.0)

A warehouse had a square floor with are 10,000 sq. metres. A rectangular addition was built along one entire side of the warehouse that increased the floor by one-half as much as the original floor. How many metres did  the addition extend beyond the original building?
A) 10 B) 20 C) 50 D) 200 E) 500

A digital wristwatch was set accurately at 8.30 a.m. and then lost 2 seconds every 5 minutes. What time was indicated on the watch at 6.30 p.m. of the same day if the watch operated continuously that time?
A) 5:56 B) 5:58 C) 6.00 D) 6:23 E) 6:20

A 5 litre jug contains 4 litres of a saltwater solution that is 15 percent salt. If 1.5 litres of the solution spilts out of jug, and the jug is then filled to capacity with water, approximately what percent of the resulting solution in the jug is salt?
A).5%           B) 9.5% C) 10.5% D) 12% E) 15%

A plane travelled K miles in the first 96 minutes of flight time. If it completed the remaining 300 miles of the trip in 1 minute, what was its average speed in miles per hour for the entire trip?

1. Given the following statement enum day = { jan = 1 ,feb=4, april, may} What is the value of may?
(a) 4
(b) 5
(c) 6
(d) 11
(e) None of the above

Find the output for the following C program
main()
{
int x,j,k;
j=k=6;x=2;
x=j*k;
printf(“%d”, x);
}

Find the output for the following C program
fn f(x)
{
if(x<=0)
return;
else f(x-1)+x;
}

Find the output for the following C program
i=20,k=0;
for(j=1;j  {
k+=j<10?4:3;
}
printf(“%d”, k);
Ans. k=4

Find the output for the following C program
int i =10
main()
{
int i =20,n;
for(n=0;n<=i;)
{
int i=10;
i++;
}
printf(“%d”, i);
Ans. i=20

Find the output for the following C program
int x=5;
y= x&y

Find the output for the following C program Y=10;
if( Y++>9 && Y++!=10 && Y++>10)
{
printf(“%d”, Y);
else
printf(“%d”, Y);
}
Ans. 13

Find the output for the following C program  f=(x>y)?x:y
a)  f points to max of x and y
b)  f points to min of x and y
c)  error
Ans. (a)

What is the sizeof(long int)
(a) 4 bytes
(b) 2 bytes
(c) compiler dependent
(d) 8 bytes10. Which of the function operator cannot be over loaded
(a) <=
(b) ?:
(c) =
(d)

Find the output for the following C program
main()
{
intx=2,y=6,z=6;
x=y=z;
printf(%d”,x)
}

Sample Test Paper

Section A

Which of the following involves context switch,
(a) system call
(b) priviliged instruction
(c) floating poitnt exception
(d) all the above
(e) none of the above
Ans: (a)

In OST, terminal emulation is done in
(a) sessions layer
(b) application layer
(c) presentation layer
(d) transport layer
Ans: (b)

For a 25MHz processor , what is the time taken by the instruction which needs 3 clock cycles,
(a)120 nano secs
(b)120 micro secs
(c)75 nano secs
(d)75 micro secs

For 1 MB memory, the number of address lines required,
(a)11
(b)16
(c)22
(d) 24
Ans. (b)

Semaphore is used for
(a) synchronization
(c) box
(d) none
Ans. (a)

Which holds true for the following statement   class c: public A, public B
a) 2 member in class A, B should not have same name
b) 2 member in class A, C should not have same name
c) both
d) none
Ans. (a)

OLE is used in
a) inter connection in unix
b) interconnection in WINDOWS
c) interconnection in WINDOWS NT

Convert a given HEX number to OCTAL

Macros and function are related in what aspect?
(a)recursion
(b)varying no of arguments
(c)hypochecking
(d)type declaration

Preproconia.. does not do which one of the following
(a) macro
(b) conditional compliclation
(c) in type checking
Ans. (c)

Piggy backing is a technique for
a) Flow control
b) Sequence
c) Acknowledgement
d) retransmition
Ans. (c)

In signed magnitude notation what is the minimum value that can be represented with 8 bits
(a) -128
(b) -255
(c) -127
(d) 0

There is an employer table with key fields as employer number data in every n’th row are needed for a simple following queries will get required results.
(a) select A employee number from employee A , where exists from employee B where A employee no. >= B employee having (count(*) mod n)=0
(b) select employee number from employe A, employe B where A employe number>=B employ number group by employee number having(count(*) mod n=0 )
(c) both (a) & (b)
(d) none of the above

Type duplicates of a row in a table customer with non uniform key field customer number you can see
a) delete from costomer where customer number exists( select distinct customer number from customer having count )
b) delete customer a where customer number in b rowid
c) delete customer a where custermor number in( select customer number from customer a, customer b )
d) none of the above

Section B

Given the following statement enum day = { jan = 1 ,feb=4, april, may} What is the value of may?
(a) 4
(b) 5
(c) 6
(d) 11
(e) None of the above

Find the output for the following C program
main()
{int x,j,k;
j=k=6;x=2;
x=j*k;
printf(“%d”, x);

Find the output for the following C program
fn f(x)
{ if(x<=0)
return;
else f(x-1)+x;
}

Find the output for the following C program
i=20,k=0;
for(j=1;j    {k+=j<10?4:3;
}
printf(“%d”, k);
Ans. k=4

Find the output for the following C program
int i =10
main()
{
int i =20,n;
for(n=0;n<=i;)
{
int i=10;
i++;
}
printf(“%d”, i);
Ans. i=20

Find the output for the following C program
int x=5;
y= x&y

Find the output for the following C program
Y=10;
if( Y++>9 && Y++!=10 && Y++>10)
{printf(“%d”, Y);
else
printf(“%d”, Y);
}
Ans. 13

Find the output for the following C program
f=(x>y)?x:y
a) f points to max of x and y
b) f points to min of x and y
c)error
Ans. (a)

What is the sizeof(long int)
(a) 4 bytes
(b) 2 bytes
(c) compiler dependent
(d) 8 bytes

Which of the function operator cannot be over loaded
(a) <=
(b) ?:
(c) =
(d) *

Find the output for the following C program
main()
{intx=2,y=6,z=6;
x=y==z;
printf(%d”,x)
}

Section C

Section C (Programming Skills)  Answer the questions based on the following program
STRUCT DOUBLELIST
INT DET; LIST VOID
STRUCT PREVIOUS; (BE GIVEN AND A PROCEDURE TO DELETE)
STRUCT NEW; (AN ELEMENT WILL BE GIVEN)
}
DELETE(STRUCT NODE)
{NODE-PREV-NEXT NODE-NEXT;
NODE-NEXT-PREV NODE-PREV;
NODE
}

In what case the prev was
(a) All cases
(b) It does not work for the last element
(c) It does not for the first element
(d) None of these

Answer the questions based on the following program
VOID FUNCTION(INT KK)
{KK+=20;
}
VOID FUNCTION (INT K)
INT MM,N=&M
KN = K
KN+-=10;
}

What is the output of the following program
main()
{ int var=25,varp;
varp=&var;
varp p = 10;
fnc(varp)
printf(“%d%d,var,varp);
}
(a) 20,55
(b) 35,35
(c) 25,25
(d)55,55

Here is the structure declaration of a doubly linked list
{
int nodeid;
A pointer of the head of the linked list is maintained as a global variable, whose definition is dlink_t *head; The funt remove_element(dlink_t *rp), needs to remove the node pointed to the rp and adjust the head. The first node’s prev and the last node’s next are NULL. remove_element(dlink_t *rp)
{
rp->prev->next = rp->next;
rp->next->prev = rp->prev;

}     Which of the following statement is true about the fution remove_element
a) It work when head is the same as rp
b) It does not work when rp is the last element on the list
c) It sets the head of the list correctly
d) It works in all cases

Consider the following function written in c:
#define NULL 0
char *
index(sp,c)
register char *sp,c;
{
do
{
if(*sp == c)
return (sp);
} while (*sp++);
return NULL;
}
The first argument sp, is a pointer to a C string. The second argument, c, is a character. This function scarches for the character c, in the string. If it is found a pointer to that location is returned else NULL is returned. This function works
a) Always
b) Always, but fails when the first byte contais the character  c
c) works when c is a non NULL character only
d) Works only when the character c is found in the string
ans: a

What is printed when this program is executed
main()
{
printf (“%d\n”,f(7));
}
f(X)
{
if ( <= 4)
return x;
return f(–x);
}
a) 4
b) 5
c) 6
d) 7
ans: a

On a machine where pointers are 4 bytes long, what happens when the following code is executed.
main()
{
int x=0,*p=0;
x++; p++;
printf (“%d and %d\n”,x,p);
}
a) 1 and 1 is printed
b) 1 and 4 is printed
c) 4 and 4 is printed
d) causes an exception

Which of the following is the correct code for strcpy, that is used to copy the contents from src to dest?
a) strcpy (char *dst,char *src)
{
while (*src)
*dst++ = *src++;
}
b) strcpy (char *dst,char *src)
{
while(*dst++ = *src++ )
}
c) strcpy (char *dst,char *src)
{
while(*src)
{
*dst = *src;
dst++; src++;
}
}
d) strcpy(char *dst, char *src)
{
while(*++dst = *++src);
}
ans:b

Consider the following program
main()
{
int i=20,*j=&i;
f1(j);
*j+=10;
f2(j);
printf(“%d and %d”,i,*j);
}
f1(k)
int *k;
{
*k +=15;
}
f2(x)
int *x;
{
int m=*x,*n=&m;
*n += 10;
}
The values printed by the program will be
a) 20 and 55
b) 20 and 45
c) 45 and 45
d) 45 and 55
e) 35 and 35

1. what is printed when the following program is compiled and executed?
int
func (int x)
{
if (x<=0)
return(1);
return func(x -1) +x;
}
main()
{
printf(“%d\n”,func(5));
}
a) 12
b) 16
c) 15
d) 11

COnsider the following of c code in two files which will be linked together and executed .
a.c:    int i;
main()
{
i = 30;
f1();
printf(“%d\n”,i)
}
b.c:    static int f1()
{
i+=10;
}   which of the following is true ?
a) a.c will fail in compilation phase because f1() is not declared
b) b.c will fail in compilation because the variable i is not declared
c) will print 30
d) will print 40
e) a & b
ans: e) a & b

consider the following program:
# include
class x {
public:
int a;
x();
};
x::x() { a=10; cout
class b:public x {
public:
b();
};
b::b() { a=20; cout
main ()
{
b temp;
}
what will be the output of this prg?
a) 10
b) 20
c) 2010
d) 1020
ans: b