Monday, March 31, 2008

HCL Placement Paper -2 - CS

HCL Placement Paper

1.There are two tables, one is SQL Server Database and another one ORACLE Database. Let it be a Parent and Child Table Relationship
If you update the Table in ORACLE, how to update the TABLE in SQL Server?

2. what is the difference between at and atx mother boards?
well i AT motherBoard u have to switch off the power after getting msg that its now safe to turn ur pc while in ATX it is automatic

3. What is the difference between HCL comnet and HCL Tech..............Which one should be preferred given an option????
i think the difference is just dis much dat hcl comnet is a bpo where aas hcl tech is in relations with technologies

4. what is RTTI in c++?
RTTI is a compiler was developed by microsoft with the help of visual C which work is, if we don't declared datatype to particular variable, then this compiler take defaultly the datatype of the variable according to the data defined to it. E.g. if we write only#include "stdio.h"void main() { x=5; y=6.9; z= 'A'; . . .. }Then compiler takes defaultly x as integer, y is float & z is char types.
Run-time type information (RTTI) is a mechanism that allows the type of an object to be determined during program execution. RTTI was added to the C++ language because many vendors of class libraries were implementing this functionality themselves. This caused incompatibilities between libraries. Thus, it became obvious that support for run-time type information was needed at the language level.


5.what is meant by embeded systems?
A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In some cases, embedded systems are part of a larger system or product, as in the case of an antilock braking system in a car. Contrast with general-purpose computer.

Embeded system means it is the collection of software and hardware and other mechanical part and electronics equipement.the user can not interact with this embeded system . it is meant for only doing special type of function.

Any electronic system that uses a CPU chip, but that is not a general-purpose workstation, Such systems generally use microprocessors, or they may use custom-designed chips or both. They are used in automobiles, planes, trains, space vehicles, machine tools, cameras, consumer and office appliances, cellphones, PDAs and other handhelds as well as robots and toys. The uses are endless, and billions of microprocessors are shipped every year for a myriad of applications. Although there are embedded versions of popular operating systems, low-cost consumer products can use chips that cost less than a dollar and have very limited storage for instructions. In such cases, the OS and application may be combined into one program.



6.In interview also they ask you to write a program.. WAP To check whether two binary tress are structurally equivalent or not?Time for this was 25 min. after this they take interview:My questions are:1.Tell me abt yourself?2.Discusses the above program..3.WAP to find a duplicate element in 1-d array of 101 elements?4.One puzzle..A circle was given and some parameter of it ..and I have to find the coordinates of some points on the circle
(Hint: Use Pythagoras Theorem)5.To allocate memory(dynamically) to a 2-d char array of size 10*100.and then assign all its elements the value \'D\'.Ans: char *p=malloc(1000); for(i=0;i<10;i++) { for(j=0;i<100;j++) p[i][j]=\'D\';}I have given this interview on 24 /08/05 in HCL NOIDA

7.section C – analysing program segements
1)struct dlink{
int nodeid;
struct dlink *next;
struct dline *prev;
} dlink_t;
A pointer to the head of that linked list is maintained as a global variable whose definition is
dlink_t *head;
The function remove_element(dlink_t*rp), needs to remove the node pointed to by rp and adjust the head The
first node’s prev and the last node’s text are NULL
remove_element (dlink_t *rp)
{
rp->prev->next =rp->next;
rp->next->prev =rp->prev;
if(head ==rp)
head =rp->next;
} which of the following statement is true about the function remove_element
a)it works when head is the same as rp; b)it does not work whe rp is the last element on the list
c)it sets the head of the list correctly d)it works in all cases (ans.(b))

2.#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 searches
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 contains the character c
c)works when c is a non NULL character array
d)works only when the character c is found in the string ans. A)Always


3.main() {
printf(“%dn”,f(7)); }
f(x) {
if(x<=4)
return x;
return f(--x); }
a)4 b)5 c)6 d)7 (ans.(4))

4.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 %dn”,p); }
a.1 and 1 is printed b.1 and 4 c.4 and 4 d.causes an exception

5.which is correct?
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); }

6. 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)55 and 55 e)35 and 35 (ans.(c))or d

7.int
func(int x) {
if(x<=0)
return (1);
return func(x-1)+x; }
main() {
printf(“%d”,func(5)); }
a)12 b)16 c)15 d)11 ans: b

8.consider the following fragments of c code in two files which will be linked together and executed
a.c
int i;
main() {
i=30;
f1();
printf(“%d”,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)a & b

9. void
funca(int *k) {
*k+=20; }
void
funcb(int *k) {
int m=*x,*n=&m;
*n+=10; }
main() {
int var=25,;
*varp=&var;
funca(varp)
*varp+=10;
funcb(varp);
printf("%d%d,var,*varp); }
(a) 20,55(b) 35,35(c) 25,25(d)55,55 (ans. (d))

10. #include
class x{
public :
int a;
x(); };
x::x() { a=10;cout<< a ;}
class b:public x {
public :
b(); x(); };
b::b() { a=20;cout< main() {
b temp; } what will be the output of the following program?
a)10 b)20 c)20 10 d)10 20


section 2 – C Programming

1.which of the following about the following two declarations is true
i) int *F();
ii)int (*F)();
a)Both are identical b)the first is a correct declaration and second is wrong
c)the first declaration is a function returning a pointer to an integer and the second is a pointer to a function
returning int
d)Both are different ways of declaring pointer to a function (ans. (c))

2.what are the values printed by the following program?
#define dprintf(expr) printf("expr=%d\n”,expr)
main() {
int x=7;
int y=3;
dprintf(x/y); }
a)#2=2 b)expr=2 c)x/y=2 d)none (ans.( c))

3.which of the following is true of the following program
main() {
char *c;
int *ip;
c=(char *)malloc(100);
ip=(int *)c;
free(ip); }
a)the code functions properly by releasing all the memory allocated
b)results in compilation error as a pointer of various types cannot be equated
c)the program ties to free more memory than allocated and results in run time error
d) works well except when the machine runs low on memory and malloc is unabel to allocate the memory (ans. (d))

4.output?
main() {
int i;
char *p;
i=0x89;
p=(char *)i;
p++;
printf(“%x\n”p); }
a)0x8c b)0x4566788A c)0x8A d)0x8B e)none (ans. (c))

5.which of the following is not an ANSI C language keyword?
a)volatile b)function c)default d)const e)void (ans. (b))

6.when an array is passed as parameter to a function , which of the following statement is correct
the function can change values in the original array
in c parameters are passed by value the function cannot change the original value in the array
it results in compilation error.Array cannot be passed as a parameter to a function
results in runtime error when the function tries to access the elements in the array

7.the type of the controlling expression of a switch statement cannot be of the type
a)int b)char c)short d)float e)none (ans.(d))

8.value of (3^6)+(a ^a)=? (Ans. value=5)

9.x= b>8?b<<3:b>4?b>>1:b; (ans. x=3)

10.output:
main() {
int n=2;
printf(“%d %d\n”,++n,n*n); }
a)3,6 b)3,4 c)2,4 d)cannot determine (ans.( b))

11.output:
int x=0x65;
main() {
char x;
printf(“%d\n”,x); }
a) Compilation error b)’A’ c)65 d)undefined

12.output
main() {
int a=10;
int b=6;
if(a=3)
b++;
printf(“%d %d”,a,b++); }
a)10,6 b)10,7 c)3,6 d)3,7 e)none

13.main() {
enum months {jan=1,feb,mar,apr};
months x=jan;
if(x==1)
printf(“jan is the first month”); }
a)does not print anything b)prints : jan is the first month
c)generates compilation error d)results in runtime error (ans. (c))

14.what is the output of the following program?
Main() {
char *src=”hello world”;
char dst[100];
strcpy(src,dst);
printf(“%s”,dst); }
strcpy(char *dst,char *src) {
while (*src) *dst++=*src++; }
a)”hello world” b)”hello” c)”world” d)NULL e)undefined (ans. (e))

15.main() {
int i=6;
switch(i) {
default: i+=2;
case 4;i=4;
case 5:i++;
break; }
printf(“%d”,i); }
a)8 b)6 c)5 d)4 e)none (ans. (c))

16.main() {
int x=20;
int y=10;
swap(x,y);
printf(“%d %d”,y,x+2); }
swap(int x,int y) {
int temp;
temp=x;
x=y;
y=temp; }
a)10,20 b)20,12 c)22,10 d)10,22 e)none


17.#define INC(x) x++
main() {
int x=4;
printf(“%d”,INC(x++)); }
a)4 b)5 c)6 d)compilation error e)runtime error (ans.(d))

18.struct node{
char *word;
int count;
struct node left;
struct node right; };
a)incorrect definiton b)structures cannot refer to other structrues
c)structures can refer to themselves. Hence the statement is ok
d)structures can refer to maximum of one other structure


19.what is the size of the following union
union tag{
int a;
float b;
char c; };
a)2 b)4 c)1 d)7 (ans.(b))

20. main() {
char s[]=”hello world”;
printf(“%15.10s”,s); }
a)hello,.world… b)…..hello world c)heloo,.wor….. d)none of the above (ans.(b))

No comments:

BBC News | News Front Page | UK Edition

Add to Technorati Favorites