i
Amdocs
Filter interviews by
Given a string STR
consisting of lowercase English letters, identify the first non-repeating character in the string and return it. If no such character...
Identify the first non-repeating character in a string and return it, or '#' if none exists.
Iterate through the string to count the frequency of each character
Iterate through the string again to find the first character with frequency 1
Return the first non-repeating character or '#' if none exists
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed linke...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Use three pointers - prev, current, and next to reverse the linked list in O(N) time and O(1) space complexity.
Update the head of the reversed linked list as the last node encountered during the reversal process.
Given an array ARR
of size 'N', where each integer is in the range from 0 to N - 1, identify all elements that appear more than once.
Return the duplicate elements in any order...
Find duplicates in an array of integers within a specified range.
Iterate through the array and keep track of the count of each element using a hashmap.
Return elements with count greater than 1 as duplicates.
Time complexity can be optimized to O(N) using a set to store duplicates.
Serialization is the process of converting an object into a byte stream, while deserialization is the reverse process.
Serialization is used to persist object state or transmit objects over a network.
Deserialization reconstructs the object from the byte stream.
Java provides Serializable interface for serialization and ObjectInputStream/ObjectOutputStream classes for deserialization.
Example: Serializing an object to...
What people are saying about Amdocs
SOLID principles are a set of five design principles that help make software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have only one reason to change.
O - Open/Closed Principle: Objects should be open for extension but closed for modification.
L - Liskov Substitution Principle: Subtypes should be substitutable for their base types.
I - Interface Segreg...
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
It helps in chaining multiple commands together
Example: ls -l | grep .txt
Use three threads to print numbers from 1 to 100 in sequence.
Create three threads, each responsible for printing numbers in a specific range (e.g. 1-33, 34-66, 67-100).
Use synchronization mechanisms like mutex or semaphore to ensure proper sequencing of numbers.
Thread 1 prints numbers 1-33, Thread 2 prints numbers 34-66, Thread 3 prints numbers 67-100.
You are given a sequence of numbers, ARR
. Your task is to return a sorted sequence of ARR
in non-descending order using the Merge Sort algorithm.
The Merge Sort ...
Implement Merge Sort algorithm to sort a sequence of numbers in non-descending order.
Divide the input array into two halves recursively until each array has only one element.
Merge the sorted halves to produce a completely sorted array.
Time complexity of Merge Sort is O(n log n).
Example: Input: [3, 1, 4, 1, 5], Output: [1, 1, 3, 4, 5]
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the l...
Detect if a singly linked list forms a cycle by checking if a node's next pointer points back to a previous node.
Use Floyd's Cycle Detection Algorithm to determine if there is a cycle in the linked list.
Maintain two pointers, one moving at twice the speed of the other, and check if they meet at any point.
If the fast pointer reaches the end of the list (null), there is no cycle.
If the fast and slow pointers meet at...
Inner Join in SQL is used to combine rows from two or more tables based on a related column between them.
Inner Join returns only the rows that have matching values in both tables
It is the most common type of join used in SQL
Syntax: SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column
Example: SELECT orders.order_id, customers.customer_name FROM orders INNER JOIN customers ON orders.customer...
Key concepts of OOP include encapsulation, inheritance, polymorphism, and abstraction.
Encapsulation: Bundling data and methods that operate on the data into a single unit (object).
Inheritance: Allowing a class to inherit properties and behavior from another class.
Polymorphism: Objects of different classes can be treated as objects of a common superclass.
Abstraction: Hiding complex implementation details and showing onl...
HashMap is a data structure that stores key-value pairs and uses hashing to quickly retrieve values based on keys.
HashMap internally uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to determine the index in the array where the pair will be stored.
If multiple keys hash to the same index (collision), a linked list is used to store these pairs.
To retrieve a value, t...
Easy to medium questions
I applied via Campus Placement
Arrays Lists Queues Maps
SDLC stands for Software Development Life Cycle. It is a process used by software developers to design, develop, and test software.
SDLC is a systematic process for building software applications.
There are different types of SDLC models such as Waterfall, Agile, Iterative, Spiral, etc.
Each type of SDLC model has its own set of advantages and disadvantages.
SDLC involves phases like planning, analysis, design, implementat...
A bug is an error, flaw, failure, or fault in a computer program or system. Unit testing is a software testing method where individual units or components of a software are tested in isolation.
Bug is an error, flaw, failure, or fault in a computer program or system.
Unit testing is a software testing method where individual units or components of a software are tested in isolation.
Bug testing helps identify and fix issu...
I applied via Referral and was interviewed in Jul 2024. There were 2 interview rounds.
StringBuffer is synchronized and thread-safe, while StringBuilder is not synchronized.
StringBuffer is slower due to synchronization, while StringBuilder is faster.
StringBuffer is preferred in multithreaded environments, while StringBuilder is preferred in single-threaded environments.
Example: StringBuffer sb = new StringBuffer(); StringBuilder sb = new StringBuilder();
I can join within 2 weeks of receiving an offer.
I can start within 2 weeks of receiving an offer.
I need to give notice at my current job before starting a new position.
I have some personal commitments that I need to wrap up before joining.
My salary expectations are based on my experience, skills, and the market rate for the position.
Research the average salary for Software Developers in the specific location and industry
Consider your years of experience and relevant skills
Be prepared to negotiate based on the benefits package offered
I appeared for an interview in Jul 2024.
Coding test consist of some basic gate questions and then 2 leetcode easy question
Mcq questions to be completed in one hour
One hour of Test with C program and aptitude
String manipulation in C involves various functions to perform operations on strings like concatenation, comparison, and copying.
Use functions like strcpy() for copying strings
Use functions like strcat() for concatenating strings
Use functions like strcmp() for comparing strings
Some of the top questions asked at the Amdocs Software Developer interview -
The duration of Amdocs Software Developer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 88 interview experiences
Difficulty level
Duration
based on 976 reviews
Rating in categories
Software Developer
8.5k
salaries
| ₹9 L/yr - ₹15.5 L/yr |
Software Engineer
2k
salaries
| ₹6.8 L/yr - ₹16.2 L/yr |
Softwaretest Engineer
1.8k
salaries
| ₹5.8 L/yr - ₹13.8 L/yr |
Functional Test Engineer
1.2k
salaries
| ₹5 L/yr - ₹12.2 L/yr |
Associate Software Engineer
946
salaries
| ₹4.8 L/yr - ₹10 L/yr |
TCS
IBM
Oracle
Carelon Global Solutions