Cognizant is a global multinational company specializing in information technology (IT) services, consulting, and business process outsourcing. Headquartered in Teaneck, New Jersey, USA, it was originally founded in 1994 as an in-house technology unit of Dun & Bradstreet in Chennai, India. The company began as a joint venture called Dun & Bradstreet Satyam Software (DBSS), with Dun & Bradstreet holding a 76% stake and Satyam Computers owning 24%. Over time, it evolved into Cognizant Technology Solutions, becoming an independent entity after a series of corporate restructurings, including an initial public offering in 1998. Today, it is publicly traded on the NASDAQ-100 under the ticker symbol CTSH.
Founded: 1994
Headquarters: Teaneck, New Jersey, USA
CEO: Ravi Kumar S (as of 2024)
Employees: Over 350,000 worldwide
Revenue: Approximately $19 billion (2023)
Industry: IT Services, Consulting, Digital Transformation
Digital Transformation – AI, cloud computing, IoT, automation
IT Consulting & Services – Application development, cybersecurity, DevOps
Business Process Outsourcing (BPO) – Finance, HR, customer support
Healthcare & Life Sciences IT – Data analytics, patient management solutions
Banking & Financial Services IT – Risk management, blockchain, fraud detection
Retail & Manufacturing Solutions – Supply chain optimization, e-commerce tech
Cognizant follows a structured recruitment process for hiring freshers and experienced professionals. The process may vary slightly depending on the role, location, and experience level, but the general steps remain consistent.
Candidates apply through Cognizant's official career portal (https://careers.cognizant.com
) or via job portals like LinkedIn, Naukri, etc.
Some fresher roles are filled through on-campus recruitment drives in colleges.
Depending on the role, candidates take one or more of the following tests:
Aptitude Test: Logical reasoning, quantitative ability, and verbal skills.
Coding Test: Programming problems (for IT roles) in languages like Java, Python, C, or C++.
Domain-Specific Test: For specialized roles (e.g., data science, cloud, cybersecurity).
The test is usually conducted on platforms like AMCAT, Cognizant’s own assessment platform, or HirePro.
Candidates who clear the online test are invited for a technical interview (virtual or in person).
Topics covered:
For IT roles: Data structures, algorithms, OOPs concepts, database management, cloud computing, and project-related discussions.
For non-IT roles: Industry-specific knowledge, problem-solving skills, and case studies.
Freshers may be asked about their final year projects and internships.
General discussion about salary expectations, work culture, job location, and career goals.
Questions related to communication skills, teamwork, adaptability, and behavioral situations.
Selected candidates receive an offer letter via email.
Background verification is conducted before joining.
Freshers are onboarded through Cognizant Academy for training.
GenC (General Category)
Eligibility: B.E/B.Tech, M.E/M.Tech, MCA, M.Sc (CS/IT)
Entry-level IT roles with training.
GenC Elevate
Higher package than GenC.
For candidates with advanced skills in digital technology.
GenC Pro
For candidates with specialized skills in AI, Data Science, Cloud, etc.
GenC Next
Highest package for freshers.
For highly skilled coders who clear hackathon-style coding rounds.
* Practice aptitude and logical reasoning questions regularly.
* Improve coding skills if applying for technical roles (LeetCode, CodeChef, HackerRank).
* Prepare well for technical interviews by revising DSA, OOPs, DBMS, and cloud computing basics.
* Enhance communication and soft skills for HR rounds.
* Research about Cognizant’s latest projects, clients, and technologies to make a good impression.
ptr = (cast-type*) malloc(byte-size) ?
char a[] = {"s","e","t","/0"};
. // C Program for adding two numbers
// without the use of arithmetic operators
#include<stdio.h>
int Addition(int a, int b)
{
// Iterate until no carry
while (b != 0)
{
// carry now stores common
//set bits of a and b
unsigned carry = a & b;
a = a ^ b;
// Carry to be shifted by one so that on adding
// it to a, we get the required sum
b = carry << 1;
}
return a;
}?
// Java Program to illustrate Object Resurrection
import java.io.*;
import java.util.*;
public class InterviewBit {
private int num;
// Constructor
public InterviewBit(int num)
{
// assigning the parameter value to the member variable
this.num = num;
}
// Creating an ArrayList of class object
static final ArrayList ar = new ArrayList();
protected void finalize() throws Throwable
{
System.out.println("Resurrect " + num);
// By using the this operator, adding the current instance to object
ar.add(this);
}
public String toString()
{
return "Element("
+ "number = " + num + ')';
}
public static void main(String[] args)
throws InterruptedException
{
for (int i = 0; i < 3; i++)
ar.add(new InterviewBit(i));
for (int j = 0; j < 5; j++) {
// printing the element in the object
System.out.println("The Elements are : " + ar);
// Clearing off elements
ar.clear();
// Calling the garbage collector function
System.gc();
// Making the thread to sleep for 500 ms
Thread.sleep(500);
}
}
}
The Elements are : [Element(number = 0), Element(number = 1), Element(number = 2)]
Resurrect 2
Resurrect 1
Resurrect 0
The Elements are : [Element(number = 2), Element(number = 1), Element(number = 0)]
The Elements are : []
The Elements are : []
The Elements are : []
package javaapplication6;
import java.util.Scanner;
public class JavaApplication6 {
public static void main(String[] args)
{
int i, temp, sum=0, n;
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
temp=n;
while(n>0)
{
int r = n%10;
sum = sum*10+r;
n = n/10;
}
System.out.println("Reverse of Number is:-" +sum);
if(temp==sum)
{
System.out.println("Palindrom");
}
else
{
System.out.println("Not Palindrom");
}
}
}
package javaapplication6;
import java.util.Scanner;
public class JavaApplication6 {
public static void main(String[] args)
{
int i, temp, sum=0, n;
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
temp=n;
while(n>0)
{
int r = n%10;
sum = sum+r;
n = n/10;
}
System.out.println("Reverse of Number is:-" +sum);
}
}
package javaapplication6;
import java.util.Scanner;
public class JavaApplication6 {
static int Add(int x, int y)
{
while (y != 0)
{
int borrow = ~ x & y;
x = x ^ y;
y = borrow << 1;
}
return x;
}
public static void main(String arg[])
{
Scanner sc = new Scanner(System.in);
System.out.println("First value is:- ");
int a=sc.nextInt();
System.out.println("Second value is:- ");
int b=sc.nextInt();
System.out.println("Sum of both digits:- "+Add(a, b));
}
}
package javaapplication6;
import java.util.Scanner;
public class JavaApplication6 {
public static void main(String[] args)
{
int result=1, n;
Scanner sc = new Scanner(System.in);
System.out.println("the Exoponent is:- ");
n=sc.nextInt();
System.out.println("the base is:- ");
int base = sc.nextInt();
while (n != 0)
{
result *= base;
--n;
}
System.out.println("Power of Number is:-" +result);
}
}
package javaapplication6;
import java.util.Scanner;
public class JavaApplication6 {
static int Add(int x, int y)
{
while (y != 0)
{
int carry = x & y;
x = x ^ y;
y = carry << 1;
}
return x;
}
public static void main(String arg[])
{
Scanner sc = new Scanner(System.in);
System.out.println("First value is:- ");
int a=sc.nextInt();
System.out.println("Second value is:- ");
int b=sc.nextInt();
System.out.println("Sum of both digits:- "+Add(a, b));
}
}
# m.py
class A:
def func(self):
print ("func() is called")
In the code below, we use the above module (m) to change the behavior of func() at runtime by assigning a new value.
import m
def monkey_func(self):
print ("monkey_func() is called")
# replacing the address of "func" with "monkey_func"
m.A.func = monkey_func
ob = m.A()
# calling the function "func"
ob.func()
monkey_func() is called
RSA | DSA |
---|---|
RSA is a cryptosystem algorithm. | DSA is a digital signature algorithm. |
This algorithm finds its application in secure data transmission. | This algorithm finds its application in digital signature and its verification. |
It implements the mathematical concept of factorization of the product of two large prime numbers. | It implements the concept of modular exponentiation and discrete logarithm. |
RSA is slower in key generation as compared to DSA. | DSA is faster in key generation as compared to RSA. |
RSA is faster in encryption but slower in decryption as compared to DSA. | DSA is slower in encryption but faster in decryption as compared to RSA. |
#include
using namespace std;
template
class PrintZeroToN
{
public:
static void display()
{
PrintZeroToN::display(); // this should not be mistaken for recursion
cout << n << endl;
}
};
template<>
class PrintZeroToN<0>
{
public:
static void display()
{
cout << 0 << endl;
}
};
int main()
{
const int n = 100;
PrintZeroToN::display();
return 0;
}
#include <iostream>
using namespace std;
int main()
{
char str[100];
int len = 0;
cout << "Enter a string: ";
cin >> str;
while(str[len] != '\0')
{
len++;
}
cout << "Length of the given string is: " << len;
cout << endl;
return 0;
}
GENERALIZATION | SPECIALIZATION |
---|---|
Generalization uses a Bottom-Up approach. | Specialization uses a top-down approach. |
The size of the schema gets reduced in Generalization. | The size of the schema gets increased in Specialization. |
Generalization is usually applied to a group of entities. | Specialization can be applied to a single entity. |
The practice of forming groupings from diverse entity sets is known as Generalization. | The process of forming subgroups inside an entity set is known as Specialization. |
In Generalization, in order to form a higher entity, the differences and similarities between lower entities are ignored and their union is considered. | In Specialization, lower entities are formed by splitting higher entities. |
Inheritance does not exist in Generalization. | Inheritance exists in Specialization. |
Example: Consider the ideas of a Student and a Patient. These two entities will have distinct properties. Student entities, for example, will have Roll No, Name, and Mob No attributes, whereas patient entities will have PId, Name, and Mob No attributes. In this case, the Name and Mob No of both the Student and the Patient can be joined as a Person to construct a higher-level entity, which is known as the Generalization Process. | Example: Consider the account of a person as an entity. This will have some properties, such as Acc No and Balance. Other properties of the account entity, such as Current Acc and Savings Acc, may exist. Now that Current Acc has Acc No, Balance, and Transactions, and Savings Acc has Acc No, Balance, and Interest Rate, we may argue that specialized entities inherit characteristics from higher-level entities. |
#include
int main(void)
{
// declaring the variables
int x;
float y;
char z;
printf("Address of x: %p\n", &x);
printf("Address of y: %p\n", &y);
printf("Address of z: %p\n", &z);
return 0;
}
Shortest Job First | Shortest Remaining Time First |
---|---|
SJF is a non-preemptive algorithm. | SRTF is a preemptive algorithm. |
SJF involves less overheads than SRTF. | SRTF involves more overhead than SJF. |
SJF results in comparatively lower throughput. | SRTF results in increased throughput as execution is faster. |
SJF reduces the average waiting time for each process. | SRTF may or may not reduce the average waiting time for each process. |
SJF involves a lesser number of context switching. | SRTF involves a greater number of context switching. |