Akamai Technologies
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
I applied via Campus Placement and was interviewed in Jun 2023. There were 4 interview rounds.
2 Coding questions, 1 SQL and a few MCQs.
Find the lexicographically lowest substring with k 1s in a given string.
Iterate through the string and maintain a sliding window of size k.
Keep track of the count of 1s in the window and update the result if a valid substring is found.
Return the lexicographically lowest substring with k 1s.
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructors, fields, and methods, while interface cannot have any implementation.
A class can only extend one abstract class, but can implement multiple interfaces.
Abstract classes are used to define a common behavior for subclasses, while interfaces are used to define a contract for cl...
I applied via Campus Placement and was interviewed in Oct 2022. There were 4 interview rounds.
The coding round had 2 coding+ 1 SQL + 8 mcqs bon OS and networking. I was able to solve all.
To find unique and duplicate elements in an array.
Create two empty arrays, one for unique elements and one for duplicates.
Loop through the array and check if the element is already in the unique array.
If it is, add it to the duplicates array. If not, add it to the unique array.
Return both arrays.
Implementing all linked list operations from scratch and reversing it.
Start by creating a Node class with data and next pointer
Implement insert, delete, search, and traverse operations
To reverse the linked list, use three pointers to reverse the direction of the links
Make sure to handle edge cases such as empty list and single node list
SQL query to find third highest salary.
Use ORDER BY and LIMIT to get the third highest salary.
Use subquery to avoid duplicates in case of multiple employees having same salary.
Example: SELECT salary FROM employees ORDER BY salary DESC LIMIT 2,1;
Inter process communication (IPC) allows processes to communicate with each other and share resources.
Shared memory
Pipes
Sockets
Message queues
Signals
I am a passionate software engineer with a strong background in developing scalable and efficient applications.
Proficient in multiple programming languages such as Java, Python, and C++
Experienced in developing web applications using frameworks like Spring and Django
Familiar with database management systems like MySQL and MongoDB
Strong problem-solving and analytical skills
Excellent communication and teamwork abilities
I tend to be overly critical of my own work.
I have a tendency to be too self-critical and strive for perfection.
I often spend more time than necessary on a task to ensure it meets my high standards.
I sometimes struggle with accepting constructive criticism and can take it personally.
I am actively working on improving my ability to recognize and appreciate my own accomplishments.
I would introduce myself to the team by sharing my background, skills, and enthusiasm for software engineering.
Start by sharing your name and a brief overview of your professional background.
Highlight your technical skills and experience in software engineering.
Express your enthusiasm for the field and your eagerness to contribute to the team.
Mention any relevant projects or achievements that demonstrate your abilities...
I applied via Campus Placement and was interviewed before Feb 2023. There were 3 interview rounds.
60 minutes. Questions related to OS, DBMS MCQs.
I applied via Referral
Swap kth and kth to last element of a singly linked list in one pass without knowing the length of the list.
Traverse the linked list using two pointers, one starting from the head and the other starting from kth node.
When the second pointer reaches the end of the list, the first pointer will be pointing to the kth to last node.
Swap the values of kth and kth to last node.
Handle edge cases such as k being out of bounds o...
Program to reverse the ordering of words in a sentence
Split the sentence into an array of words
Reverse the array
Join the array into a sentence
Program to find intersection point of two singly linked lists in O(n)
Traverse both lists and find their lengths
Move the head of the longer list by the difference in lengths
Traverse both lists in parallel until intersection point is found
Return the intersection point
Program to reverse a singly linked list both recursively and iteratively
Iteratively: Use three pointers to reverse the links between nodes
Recursively: Use a recursive function to reverse the links between nodes
In both approaches, update the head and tail pointers accordingly
Find odd weight ball among 12 identical balls using a balance in minimum weighings.
Divide balls into 3 groups of 4 each
Weigh any 2 groups against each other
If both groups weigh the same, the odd ball is in the third group
If one group is heavier, weigh any 2 balls from that group against each other
If they weigh the same, the odd ball is the remaining one
If one ball is heavier, it is the odd ball
Repeat the process with t
A program to reverse a singly linked list in groups of k using recursion.
Create a recursive function that takes the head of the linked list and the group size as parameters.
If the remaining list has less than k nodes, return the head as it is.
Reverse the first k nodes by recursively calling the function for the next group.
Connect the reversed group to the remaining list.
Return the new head of the reversed list.
Program to find length of longest substring without repeating characters in a string.
Use a sliding window approach to traverse the string
Use a hash set to keep track of unique characters in the current substring
Update the length of longest substring without repeating characters as you traverse the string
Representing date of a month using two cubes with numbers 0-9 on each face
Assign numbers 0-9 on each face of both cubes
Use one cube to represent tens digit and other for ones digit
Rotate cubes to display desired date
Example: Cube 1 - 0, 1, 2, 3, 4, 5; Cube 2 - 0, 1, 2, 6, 7, 8; To represent 23, Cube 1 shows 2 and Cube 2 shows 3
Find the character repeated most number of times in an array of strings.
Create a dictionary to store character count
Iterate through each string and character
Return the character with highest count
Answering a question on tracing output of C/C++ code snippet with pointers and references
Understand the code and identify all pointers and references
Trace the values of each pointer and reference at each step
Follow the flow of the code to determine the final output
Segmentation fault is a type of error that occurs when a program tries to access a memory location that it is not allowed to access.
Segmentation fault is also known as a segfault.
It is a common error in C and C++ programming languages.
It occurs when a program tries to read or write to a memory location that it does not have permission to access.
This can happen when a program tries to access an uninitialized pointer or ...
BFS and DFS are graph traversal algorithms used to search for nodes in a graph.
BFS stands for Breadth First Search and explores all the nodes at the current depth before moving to the next level.
DFS stands for Depth First Search and explores as far as possible along each branch before backtracking.
BFS uses a queue data structure while DFS uses a stack or recursion.
BFS is useful for finding the shortest path in an unwei...
I would prefer Depth First Search (DFS) traversal for finding a cycle in a graph.
DFS is better suited for finding cycles in a graph as it explores deeper into the graph before backtracking.
DFS can detect a cycle in a graph in O(V+E) time complexity.
DFS can be implemented using recursion or a stack.
Breadth First Search (BFS) can also be used to find cycles but it is less efficient than DFS.
In DFS, we can keep track of v
Hashmap has constant time complexity for insertion, deletion, and retrieval, but requires additional space.
Hashmap provides constant time complexity O(1) for insertion, deletion, and retrieval operations on average.
The space complexity of a hashmap is proportional to the number of elements stored in it.
Hashmap uses a hash function to map keys to indices in an underlying array, which allows for efficient lookup.
In case ...
The data structure behind a login page should store user credentials securely.
Use a database to store user information
Hash and salt passwords for security
Include fields for username, email, password, and possibly additional information
Consider implementing two-factor authentication
Akamai Technologies interview questions for designations
Top trending discussions
A generic swap function swaps two values of any data type.
The function should take two parameters of any data type.
Use a temporary variable to store the value of one parameter.
Assign the value of the second parameter to the first parameter.
Assign the value of the temporary variable to the second parameter.
Search for an element in a rotated sorted linked list.
Find the pivot point where the list is rotated.
Divide the list into two sublists based on the pivot point.
Perform binary search on the appropriate sublist.
Handle edge cases such as empty list and list with only one element.
Search an element in a rotated sorted array
Find the pivot point where the array is rotated
Divide the array into two sub-arrays based on pivot point
Perform binary search on the appropriate sub-array
Repeat until element is found or sub-array size is 1
Find 5 missing numbers in an array of size 95 containing numbers in range 1 to 100.
Create a boolean array of size 100 and mark the present numbers
Iterate through the boolean array and find the missing numbers
Alternatively, use a HashSet to store the present numbers and find the missing ones
Given a Sudoku board, find possible numbers for an empty cell.
Iterate through empty cells and check possible numbers using row, column, and box constraints.
Use a set to keep track of possible numbers for each empty cell.
Return the set of possible numbers for the given empty cell.
Find integer average of 4 unsigned integers without typecasting
Add all the integers and divide by 4
Use bit shifting to divide by 4
Handle overflow by using long long data type
Use unsigned int data type for input
Code to identify 32 bit or 64 bit architecture of a processor
Check if the operating system is 32 bit or 64 bit
If OS is 32 bit, processor is 32 bit
If OS is 64 bit, check if processor supports 64 bit architecture
Use CPUID instruction to check if processor supports 64 bit architecture
Convert binary number to base 64 integer
Divide the binary number into groups of 6 bits
Convert each group of 6 bits to decimal
Map the decimal value to the corresponding base 64 character
Concatenate the base 64 characters to form the final integer
Using Applied Electronics to prevent train accidents in IRCTC
Implement sensors to detect obstacles on tracks
Use GPS and communication systems to alert train drivers of potential dangers
Install automatic braking systems in case of emergency
Regular maintenance and inspection of tracks and trains
Train and educate staff on safety protocols and emergency procedures
IC 555 timer is a versatile timer IC used in various applications like oscillators, timers, and flip-flops.
IC 555 timer has three modes of operation: monostable, astable, and bistable.
In monostable mode, the output is high for a fixed duration when triggered.
In astable mode, the output oscillates between high and low states.
In bistable mode, the output remains in either high or low state until triggered.
IC 555 timer ca...
The internet is a global network of interconnected devices that communicate using standardized protocols.
The internet is based on the TCP/IP protocol suite.
Data is transmitted in packets across the network.
The network model consists of layers, including the physical, data link, network, transport, and application layers.
Routing protocols are used to direct packets to their destination.
Examples of internet applications ...
I am a software engineer with experience in developing web and mobile applications using various programming languages and frameworks.
Proficient in Java, Python, and JavaScript
Experience with React, Angular, and Node.js
Strong understanding of database management systems
Passionate about learning new technologies and solving complex problems
I am excited to join this company because of its reputation for innovation and commitment to employee growth.
I am impressed by the company's track record of developing cutting-edge software solutions.
I appreciate the emphasis on professional development and growth opportunities for employees.
I am excited about the prospect of working with a talented and dedicated team.
I believe that this company's values align with my ...
My role model is Elon Musk.
I admire his innovative thinking and determination to push boundaries.
His ability to lead multiple successful companies is inspiring.
His focus on sustainable energy and space exploration aligns with my values.
I strive to emulate his work ethic and passion for making a positive impact on the world.
I have been involved in various extra-curricular activities such as volunteering, sports, and music.
Volunteered at local animal shelter
Played on intramural basketball team
Participated in school choir
Attended coding workshops and hackathons
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.
Some of the top questions asked at the Akamai Technologies Software Engineer interview -
based on 2 interviews
Interview experience
based on 20 reviews
Rating in categories
Software Engineer
117
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
109
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer2
94
salaries
| ₹0 L/yr - ₹0 L/yr |
Platform Operations Engineer
68
salaries
| ₹0 L/yr - ₹0 L/yr |
Technical Solutions Engineer
63
salaries
| ₹0 L/yr - ₹0 L/yr |
Limelight Networks
Cloudflare
F5 Networks
Level 3 Communications