Filter interviews by
Be the first one to contribute and help others!
posted on 2 Dec 2015
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++
I applied via Campus Placement and was interviewed in Jan 2016. There were 3 interview rounds.
Yes
Knowledge of network protocols and architectures
Understanding of data structures and algorithms
Experience with network troubleshooting and analysis
Familiarity with network security and encryption
Proficiency in network programming and socket programming
The test went well, I was able to complete all the tasks within the given time frame.
I prepared well for the test by reviewing relevant materials
I managed my time effectively during the test
I was able to solve all the problems and complete all the tasks
I double-checked my work to ensure accuracy
I was interviewed before Jan 2021.
Round duration - 70 Minutes
Round difficulty - Medium
This was an Online Coding+MCQ round where we had a total of 50 MCQ questions and 1 coding problem. The coding problem was of easy to medium level but was a bit implementation heavy.
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Implement a doubly linked list to maintain the order of recently used keys.
Use a hashmap to store key-value pairs for quick access.
When capacity is reached, evict the least recently used item before inserting a new item.
Update the position of a key in the linked list whenever it is accessed or updated.
H...
Round duration - 60 Minutes
Round difficulty - Medium
This round had 1 coding question in which I was first required to explain my approach and then discuss the time and space complexities. After this , some basic questions from OOPS and Java were asked.
For a given singly linked list, identify if a loop exists and remove it, adjusting the linked list in place. Return the modified linked list.
A...
Detect and remove loop in a singly linked list in place with O(n) time complexity and O(1) space complexity.
Use Floyd's Cycle Detection Algorithm to identify the loop in the linked list.
Once the loop is detected, use two pointers to find the start of the loop.
Adjust the pointers to remove the loop and return the modified linked list.
ArrayList is implemented using a dynamic array while LinkedList is implemented using a doubly linked list.
ArrayList provides fast random access but slow insertion and deletion operations.
LinkedList provides fast insertion and deletion operations but slow random access.
Example: ArrayList is suitable for scenarios where frequent access and traversal of elements is required, while LinkedList is suitable for scenarios wher...
Abstraction focuses on hiding implementation details, while inheritance allows a class to inherit properties and behavior from another class.
Abstraction is the concept of hiding the complex implementation details and showing only the necessary features of an object.
Inheritance is a mechanism where a new class inherits properties and behavior from an existing class.
Abstraction is achieved through interfaces and abstract...
Round duration - 60 Minutes
Round difficulty - Medium
This round had questions from OS and OOPS. The interviewer also tested my problem solving skills by asking me some puzzles in the end.
Piping in Unix/Linux allows the output of one command to be used as the input for another command.
Piping is done using the | symbol
Multiple commands can be piped together
Piping allows for the creation of complex command chains
Example: ls -l | grep txt
A static variable in C is a variable that retains its value between function calls.
Static variables are declared using the 'static' keyword.
They are initialized only once and retain their value throughout the program's execution.
Static variables have a default value of 0 if not explicitly initialized.
They are stored in the data segment of the program's memory.
Example: static int count = 0; declares a static variable 'c
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 was interviewed before Nov 2020.
Round duration - 60 minutes
Round difficulty - Medium
The test was in the evening which was not too late. It was conducted on Hackerrank which is a very common platform and was hence familiar. There were 26 questions:
Q1: Coding Question
3 languages were allowed: c, java8, python3
Q2 - Q26: Multiple Choice Questions
You are provided with two singly linked lists containing integers, where both lists converge at some node belonging to a third linked list.
Your task is to determine t...
Find the node where two linked lists merge, return -1 if no merging occurs.
Traverse both lists to find the lengths and the last nodes
Align the starting points of both lists by moving the longer list's pointer ahead by the difference in lengths
Traverse both lists simultaneously until a common node is found, which is the merging point
Tip 1 : Practice competitive programming as much as possible. It's never too late. Start now. But it is important to practice before appearing for the paper.
Tip 2 : Try to start making projects early on as it plays a major role during the interviews.
Tip 3 : Be involved in extra curricular activities and events like Hackathons even if you don't win all of them. It gives a lot of exposure and experience.
Tip 4 : Don't lose touch with your core subjects.
Tip 5 : An internship/training from a good organization always helps (though don't lose hope if you don't have it).
Tip 6 : Focus on your communication skills along with your core subjects as it helps in giving a good impression during the interviews.
Tip 1 : Maintain a good CGPA (above 7.5)
Tip 2 : Mention your projects as they are noticed in the interview
Tip 3 : Having an internship experience especially from a good organization helps
Tip 4 : Focus on extra curricular activities too
Tip 5 : Do not put things you are not sure about
based on 2 reviews
Rating in categories
Sterlite Technologies
Cisco
Redington
Vindhya Telelinks