Filter interviews by
Asked basic python code
Top trending discussions
I applied via Recruitment Consultant and was interviewed in Dec 2020. There were 4 interview rounds.
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical interview round with questions based on DSA and OOPS.
Use double pointer to dynamically allocate memory for array of strings in C.
Declare a double pointer to hold the 2D array of strings.
Allocate memory for the rows first using malloc.
Then allocate memory for each string in the row using malloc.
Assign values to the strings in the array.
Example: char **array = malloc(rows * sizeof(char *));
Example: array[i] = malloc(strlen(str) + 1); strcpy(array[i], str);
Virtual functions in C++ are functions that can be overridden in derived classes, allowing for polymorphic behavior.
Virtual functions are declared using the 'virtual' keyword in the base class.
They are used to achieve runtime polymorphism in C++.
Derived classes can override the virtual functions defined in the base class.
Example: class Base { public: virtual void display() { cout << 'Base class dis...
Virtual base classes are classes that are inherited virtually to avoid multiple instances of the same base class in a derived class hierarchy.
Virtual base classes are used in multiple inheritance to prevent the Diamond Problem.
They are declared with the 'virtual' keyword in the base class.
When a class inherits a virtual base class, the most derived class is responsible for initializing the virtual base class.
Example: c...
Round duration - 60 minutes
Round difficulty - Easy
Technical interview round with questions based on OS/Networking etc.
The system call that creates a separate connection is fork()
fork() is a system call in Unix-like operating systems that creates a new process by duplicating the existing process
The new process created by fork() is called the child process, while the original process is called the parent process
fork() is commonly used in network programming to create separate connections for handling multiple clients
epoll_wait() system call waits for events on an epoll instance
Used in Linux for I/O event notification
Blocks until one or more file descriptors become ready
Returns the number of file descriptors ready for I/O operations
Different protocols used in the transport layer include TCP, UDP, SCTP, and DCCP.
TCP (Transmission Control Protocol) - reliable, connection-oriented protocol used for most internet communication
UDP (User Datagram Protocol) - connectionless protocol used for applications where speed is more important than reliability
SCTP (Stream Control Transmission Protocol) - supports multiple streams of data, used for telecommunicati...
TCP is a connection-oriented protocol that ensures reliable data delivery, while UDP is a connectionless protocol that focuses on speed.
TCP is reliable and ensures data delivery by establishing a connection before sending data.
UDP is faster but less reliable as it does not establish a connection before sending data.
TCP is used for applications that require high reliability and error correction, such as web browsing and...
Round duration - 60 minutes
Round difficulty - Easy
Technical interview round with questions based on Networking etc.
ICMP is a protocol used for error reporting, diagnostics, and network management in IP networks.
ICMP is used to report errors in packet delivery
It is used for network diagnostics and troubleshooting
ICMP messages are encapsulated within IP packets
Examples include ping (echo request/reply) and traceroute
TCP supports four types of connection release: active close, passive close, simultaneous close, and abortive close.
Active close: Client initiates the connection release process by sending a FIN packet.
Passive close: Server initiates the connection release process by sending a FIN packet.
Simultaneous close: Both client and server send FIN packets to each other simultaneously.
Abortive close: Connection is terminated abru...
The MAC layer uses protocols like CSMA/CA, CSMA/CD, and TDMA to manage access to the network.
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) is used in wireless networks to avoid collisions.
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) is used in wired networks to detect and handle collisions.
TDMA (Time Division Multiple Access) is used in networks where devices are assigned specific
ARP (Address Resolution Protocol) is a protocol used to map an IP address to a MAC address in a local network.
ARP is used to resolve IP addresses to MAC addresses in a local network.
It operates at the data link layer of the OSI model.
ARP requests are broadcasted to all devices on the network.
Example: When a device wants to communicate with another device on the same network, it uses ARP to find the MAC address correspo
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Job Portal and was interviewed in Mar 2021. There was 1 interview round.
I applied via Campus Placement and was interviewed in Jan 2016. There were 3 interview rounds.
I applied via Referral
Program to print binary tree elements in spiral order
Use two stacks to keep track of nodes at odd and even levels
Push nodes from left to right in odd level stack and right to left in even level stack
Pop nodes from the stack alternatively and print them
Repeat until both stacks are empty
Entering a URL in the browser triggers a series of events to retrieve and display the requested webpage.
The browser checks the cache for a previously stored copy of the webpage
If not found, the browser sends a request to the DNS server to resolve the domain name to an IP address
The browser then sends a request to the web server at the IP address for the webpage
The web server responds with the requested webpage
The brows...
MAC addresses are required for identifying devices on a local network, while IP addresses are used for identifying devices on a global network.
MAC addresses are used for communication within a local network
IP addresses are used for communication across different networks
MAC addresses are assigned by the manufacturer and cannot be changed
IP addresses can be assigned dynamically or statically
MAC addresses are used in the...
Developed a web application for tracking inventory and sales data
Used React.js for front-end development
Implemented RESTful APIs using Node.js and Express for back-end
Utilized MongoDB for database management
Integrated authentication and authorization features for secure access
Designed user-friendly interface with responsive design
An ArrayList is a dynamic array in Java that can grow or shrink in size during runtime.
ArrayList is a class in Java's Collection framework.
It implements the List interface and allows duplicate elements.
Elements can be added or removed using methods like add(), remove(), etc.
It can also be sorted using the sort() method.
Example: ArrayList
names.add("John"); names.add("Mary"); names.remove(0);
ArrayList is a resizable array while LinkedList is a doubly linked list.
ArrayList is faster for accessing elements while LinkedList is faster for adding or removing elements.
ArrayList uses contiguous memory while LinkedList uses non-contiguous memory.
ArrayList is better for random access while LinkedList is better for sequential access.
Example: ArrayList - List
Java is not a pure OO language due to primitive types not being objects.
Primitive types like int, boolean, etc. are not objects in Java
They do not have methods or inheritance like objects do
This violates the principle of everything being an object in pure OO languages
Wrapper classes like Integer, Boolean, etc. were introduced to provide object-like behavior for primitives
Object-oriented languages support inheritance and polymorphism, while object-based languages do not.
Object-oriented languages allow for the creation of classes and objects, and support inheritance and polymorphism.
Object-based languages only support objects, but do not have the concept of classes or inheritance.
Examples of object-oriented languages include Java, C++, and Python, while JavaScript is an example of an obj
Inheritance is a way to create new classes based on existing ones. Abstraction is a way to hide implementation details.
Inheritance allows a subclass to inherit properties and methods from a superclass.
Abstraction allows a class to provide a simplified interface to its users while hiding its implementation details.
For example, a Car class can inherit properties and methods from a Vehicle class, while also implementing i...
I applied via Referral
No, as a software engineer, you may not have the necessary experience or skills to work as an IT manager.
Software engineers typically focus on coding and technical aspects, while IT managers are responsible for overseeing projects, teams, and budgets.
IT managers need strong leadership, communication, and decision-making skills, which may not be the primary focus of a software engineer.
Consider gaining experience in pro...
OSI stack has 7 layers that define how data is transmitted over a network.
OSI stands for Open Systems Interconnection
Each layer has a specific function and communicates with adjacent layers
Layers are: Physical, Data Link, Network, Transport, Session, Presentation, Application
A router is needed to connect two computers in different networks or to share internet connection.
When two computers are in different networks, a router is needed to connect them.
A router can also be used to share internet connection between multiple devices.
Routers can provide additional security features like firewall and VPN.
Examples of routers include Cisco, Netgear, and TP-Link.
IPv4 has 32 bits and IPv6 has 128 bits.
IPv4 addresses are in the format of xxx.xxx.xxx.xxx where each xxx is an 8-bit number.
IPv6 addresses are in the format of xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx where each xxxx is a 16-bit number.
IPv6 addresses allow for a much larger number of unique addresses than IPv4.
IPv6 is needed due to the exhaustion of IPv4 addresses and the need for more unique IP addresses.
IPv6 provides a significantly larger address space compared to IPv4.
It allows for the allocation of unique IP addresses to every device connected to the internet.
IPv6 supports improved security features and better network performance.
It enables the growth of Internet of Things (IoT) devices and services.
Transitioning to IPv...
A /24 address can have 256 clients. Network address is the first IP and broadcast address is the last IP.
A /24 address has 256 IP addresses
The network address is the first IP in the range
The broadcast address is the last IP in the range
Anycast, unicast, and multicast are different ways of routing network traffic.
Unicast is one-to-one communication between a sender and a receiver.
Anycast is one-to-nearest communication where the sender sends a message to the nearest receiver.
Multicast is one-to-many communication where the sender sends a message to a group of receivers.
Anycast is used for load balancing and finding the nearest server.
Unicast is used f...
Virtual memory is a memory management technique that allows a computer to use more memory than physically available.
Virtual memory is created by using hard disk space as an extension of RAM.
It allows running more programs than the physical memory can handle.
The size of virtual memory is typically larger than the size of main memory.
Virtual memory is divided into pages, which are swapped in and out of main memory as nee...
I rate myself 8 in C and 7 in web technologies.
I have extensive experience in C programming and have worked on multiple projects using it.
In web technologies, I have a good understanding of HTML, CSS, and JavaScript, but there is always room for improvement.
I am constantly learning and improving my skills in both areas.
My strengths include problem-solving skills, attention to detail, and strong programming abilities.
Strong problem-solving skills - able to analyze complex problems and come up with effective solutions
Attention to detail - meticulous in writing code and ensuring it is error-free
Strong programming abilities - proficient in multiple programming languages such as Java, Python, and C++
based on 1 interview
Interview experience
based on 2 reviews
Rating in categories
Senior Software Engineer
785
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
339
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer2
329
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Analyst
272
salaries
| ₹0 L/yr - ₹0 L/yr |
Principal Software Engineer
270
salaries
| ₹0 L/yr - ₹0 L/yr |
Hewlett Packard Enterprise
IBM
Cisco
NetApp