helloo guys after lockdown this interview process happens through online. i took snap shot of technical questions and i wish to share to all of u...
1.int main(int argc, char *argv[])
{
union check
{
int i;
int j;
};
union check uij;
uij.i=10;
uij.j=20;
if(uij.i>0){
printf("%d %d",uij.i,uij.j);
}else{
printf("Zoho Interview");
}
return 0;
}
Output : 20 20
Since union share the same memory location for both i & j last stored value will be displayed.
2)int main(int argc, char *argv[])
{
int i=0;
if(+(+i--)!=0){ //-1
i-=i++; //-1-0
}else{
i-=i--;
}
printf("%d",i);
return 0;
}
ans -1
3)
#include <stdio.h>
int main(int argc, char *argv[]){
int tally;
char p[]="zoho";
char t;
int i,j;
for(i=0,j=strlen(p);i<j;i++){
t=p[i];
p[i]=p[j-i];
p[j-i]=t;
printf("%c %c \n",t,p[i]);
}
return 0;
}
ans :
z
o o
h h
o o
4)
int main(int argc, char *argv[]){
int c[]={2.8,3.4,4,6.7,5};
int j, *p=c, *q=c;
for(j=0;j<5;j++){
printf("%d",*c);//here it called the c[0] 5 times c didnnt get incremented
++q;
}
for(j=0;j<5;j++){
printf("%d",*p); // here p gets incremented
++p;
}
return 0;
}
ans : 2222223465
5)final class GetValues{
private final double im;
public GetValues(double im){
this.im=im;
}
public String toString(){ // over ridding
return "(Value is:"+im+")";
}
}
public class Main
{
public static void main(String[] args) {
GetValues c=new GetValues(10);
System.out.println(c);// when we call object it will call toString() method
}
}
ans : value is:10.0
6)
public class Main
{
public static void swap(Integer i,Integer j){
Integer temp=new Integer(i);
i=j;
j=temp;
System.out.println("Swapped:"+"i="+i+",j="+j);
}
public static void main(String[] args) {
Integer i=new Integer(10);
Integer j=new Integer(20);
swap(i,j);
System.out.println("final:"+"i="+i++ +",j="+j++);
}
}
Ans : swapped:i=20,j=10
final:i=10,j=20
7)
public class Main
{
public static void main(String[] args) {
final String testString="Zoho";
testString.chars().forEach(ch->System.out.print(ch)); //stream gives integer as output
}
}
ans : 90111104111
8)
public class Main
{
public static void main(String[] args) {
int x=0;
while(1) // is not allowed should contains boolean alone
{
x+=1;
if(x==3){continue;}
if(x==5)break;
System.out.println("x:"+(x));
}
}
}
ans : compilation error
9)public class Main
{
public static void main(String[] args) {
int currentStatus=0;
stateOne:
{
if(8!=15>>1){
currentStatus=1;
stateTwo:
{
if (5==10>>1){
currentStatus=2;
break stateOne; // break the entire block
}
break stateTwo;
}
currentStatus=-1;
}
}
System.out.println(currentStatus);
}
}
ans : 2
10)
import java.util.TreeSet;
public class Main
{
public static void main(String[] args) {
TreeSet alphabetStrings=new TreeSet<>(String::compareTo);
alphabetStrings.add("Zebra");
alphabetStrings.add("Apples");
alphabetStrings.add("Ball");
alphabetStrings.add("zebra");
alphabetStrings.add("apple");
alphabetStrings.add("ball");
System.out.println("AlphabetString Set contains:"+alphabetStrings);
}
}
ans : AlphabetString Set contains:[Apples, Ball, Zebra, apple, ball, zebra]
11)import java.util.*;
public class Main
{
public static void main (String[] args)
{
int arr1[]={1,2,3};
int arr2[]=arr1;
if (Arrays.equals(arr1,arr1.clone()))
System.out.println("Same");
else
System.out.println("Not Same");
if(Arrays.equals(arr1,arr2))
System.out.println("Same");
else
System.out.println("Not Same");
}
}
ans : Same
Same
12)
public class Main
{
public static void main (String[] args)
{
String str="zoho";
str.toUpperCase();
str+="onzoho";
String string = str.substring(2);
string = string + str.substring(10);
System.out.println(string);
}
}
13)
import java.util.stream.*;
public class Main
{
public static void main (String[] args)
{
Stream.of("Apples","Zebra","apples","zebra")
.sorted()
.map(s->{
return s.toUpperCase();
})
.anyMatch(s->{
System.out.println("String Match Condition:"+s);
return s.startsWith("Z");
});
}
}
ans : String Match Condition:APPLES
String Match Condition:ZEBRA
14)
class Base extends Exception {}
class Derived extends Base {}
public class Main
{
public static void main (String[] args)
{
try{
throw new Derived();
}
catch(Base b){ //parent class catch hence child case exception does not required
System.out.println("Caught base class exception");
}
catch(Derived d){
System.out.println("Caught derived class exception");
}
}
}
Compiler error
15)
class Derived
{
public void methodInvoke() //privileges public to protected not allowed
{
System.out.println("Derived Class");
}
}
public class Main extends Derived
{
protected void methodInvoke()
{
System.out.println("Test Class");
}
public static void main (String[] args)
{
Derived obj=new Main();
obj.methodInvoke();
}
}
compiler error
16)
interface InterF {
default void implMethod()
{
System.out.println("Base Method");
}
}
class Test implements UbterF {
public void implMethod() {
System.out.println("Override Method");
}
}
public class TestClass
{
public static void main(String[] args)
{
InterF interF=new Test();
interF.implMethod();
}
}
ans : Override Method
17)
public class Main
{
interface InterF{
int getRes(int a,int b);
}
public static int printRes(int a,int b,InterF interF){
return interF.getRes(b,a);
}
public static void main(String[] args)
{
InterF interF=(a,b)->a%b;
System.out.println(printRes(20,30, interF));
}
}
ANS 10
18)
import java.util.TreeSet;
import java.util.stream.Stream;
public class Main
{
public static void main(String args[])
{
Stream.of(1,-2,3)
.sorted((s1,s2)->{
System.out.printf("Sort Compare:%s;%s\n",s1,s2);
return s1.compareTo(s2);
})
.filter(s->{
return s>0;
})
.map(s->{
return s.doubleValue();
})
.forEach(s->System.out.println("Printed Val:"+s));
}
}
ans :
Sort Compare:-2;1
Sort Compare:3;-2
Sort Compare:3;1
Printed Val:1.0
Printed Val:3.0
19)
class Base{
Base(){
System.out.println("Base");
}
public void Print() {
System.out.println("BasePrint");
}
}
class Derived extends Base {
public void Print() {
System.out.println("DerivedPrint");
}
}
class Main {
public static void DoPrint(Base o) {
o.Print();
}
public static void main(String[] args) {
Base y=new Derived();
Derived z=new Derived();
DoPrint(y);
DoPrint(z);
}
}
ans :
Base
Base
DerivedPrint
DerivedPrint
220)
import java.util.*;
class Variable implements Comparable<Variable>{
int id;
int quantity;
public Variable(int id,int quantity){
this.id=id;this.quantity=quantity;
}
public int compareTo(Variable b){
if(id>b.id){
return -1;
}else if(id<b.id){
return 1;
}else{
return 0;
}
}
}
public class Main {
public static void main(String[] args) {
Queue<Variable> queue=new PriorityQueue();
Variable v1=new Variable(1,100);
Variable v2=new Variable(2,1000);
Variable v3=new Variable(3,500);
Variable v4=new Variable(4,10);
queue.add(v1);
queue.add(v2);
queue.add(v3);
queue.add(v4);
queue.remove();
System.out.println(queue.peek().id+":"+queue.peek().quantity);
}
}
ans : 3:500
21)
class PrivClass
{
private PrivClass()
{
System.out.println("PrivClass called");
}
protected static PrivClass create()
{
PrivClass obj = new PrivClass();
return obj;
}
public void myMethod()
{
System.out.println("PrivClass Method called");
}
}
public class Main
{
public static void main(String[] args)
{
try{
PrivClass obj=PrivClass.create();
obj.myMethod();
}catch (Exception e){
System.out.println("PrivClass Creation Error");
}
}
}
ans :
PrivClass called
PrivClass Method called
22)
import java.io.*;
public class Main {
{
public static void main(String[] args)
{
try
{
MyVariable object1=new MyVariable(Integer.MAX_VALUE+1);
FileOutputStream fos=new FileOutputStream("serial");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush();
oos.close();
}
catch(Exception e)
{
System.exit(0);
}
try
{
MyVariable object2;
FileInputStream fis=new FileInputStream("serial");
ObjectInputStream ois=new ObjectInputStream(fis);
object2=(MyVariable)ois.readObject();
ois.close();
System.out.println(object2);
}
catch (Exception e)
{
System.exit(0);
}
}
}
class MyVariable implements Serializable
{
int i;
MyVariable (int i)
{
this.i=i;
}
public String toString() {
return ""+(i/1000)+"";
}
}
}
ans : -2147483
23)
class Test
{
int a;
Test cloning()
{
try
{
return (Test) super.clone();
}
catch(CloneNotSupportedException e)
{
System.out.println("CloneNotSupportedException is caught");
return this;
}
}
public String toString() {
return a+"";
}
}
class Main
{
public static void main(String args[])
{
Test obj1=new Test();
Test obj2;
obj1.a=10;
obj2=obj1.cloning();
obj2.a=20;
System.out.println("obj1.a="+obj1.a+","+"obj2.a="+obj2.a);
}
}
ans :
CloneNotSupportedException is caught
obj1.a=20,obj2.a=20