Filter interviews by
Merge Sort is a divide-and-conquer algorithm that sorts an array by recursively splitting and merging sorted subarrays.
1. Divide the array into two halves until each subarray contains a single element.
2. Merge the subarrays back together in sorted order.
3. The merging process involves comparing the smallest elements of each subarray.
4. Example: For array [38, 27, 43, 3, 9, 82, 10], it splits to [38, 27, 43] and [3...
Find the contiguous subarray with the maximum sum in a given array of integers.
Use Kadane's algorithm for an efficient O(n) solution.
Initialize two variables: max_sum and current_sum.
Iterate through the array, updating current_sum and max_sum.
Example: For array [-2,1,-3,4,-1,2,1,-5,4], max sum is 6 (subarray [4,-1,2,1]).
If all numbers are negative, return the largest single element.
A multi user job scheduler allows multiple users to schedule and manage their tasks efficiently.
Implement a centralized job scheduling system that can handle multiple users and their tasks simultaneously
Include features such as task prioritization, deadline management, and resource allocation
Use a database to store user information, task details, and scheduling algorithms
Provide a user-friendly interface for users...
Using stack to find the next greater element in an array
Create an empty stack to store indices of elements
Iterate through the array from right to left
Pop elements from stack until a greater element is found or stack is empty
Find the largest subsequence in an array of strings
Iterate through the array of strings and compare the length of each subsequence
Keep track of the longest subsequence found so far
Return the longest subsequence
Currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of functions, each taking a single argument.
Currying helps in partial application of functions.
It allows for creating reusable functions with fixed parameters.
Example: const add = a => b => a + b;
call, apply, and bind are methods in JavaScript used to manipulate the value of 'this' in functions.
call() - calls a function with a given 'this' value and arguments provided individually.
apply() - calls a function with a given 'this' value and arguments provided as an array.
bind() - creates a new function that, when called, has its 'this' keyword set to the provided value.
Check if parentheses in a string are correctly matched using a stack data structure.
Use a stack to keep track of opening parentheses.
For each character in the string, push '(' onto the stack.
For each ')', pop from the stack and check if it matches an opening '('.
If the stack is empty at the end, parentheses are matched.
Example: '(()())' is matched, but '(()' is not.
HTTP headers are key-value pairs sent between the client and server to provide additional information about the request or response.
HTTP headers consist of a key-value pair separated by a colon, with each pair separated by a new line
Headers are used to provide information such as content type, content length, caching directives, authentication credentials, etc.
Example: 'Content-Type: application/json'
Implement a queue using two stacks by using one stack for enqueue operation and another stack for dequeue operation.
Use one stack for enqueue operation by pushing elements onto it.
Use another stack for dequeue operation by popping elements from it. If the dequeue stack is empty, transfer all elements from the enqueue stack to the dequeue stack.
Maintain the order of elements by transferring elements between the two...
Hacker rank, 3 questions with 1 hour duration
Check if parentheses in a string are correctly matched using a stack data structure.
Use a stack to keep track of opening parentheses.
For each character in the string, push '(' onto the stack.
For each ')', pop from the stack and check if it matches an opening '('.
If the stack is empty at the end, parentheses are matched.
Example: '(()())' is matched, but '(()' is not.
Reversing a linked list involves changing the direction of its nodes to point to the previous node instead of the next.
Iterative approach: Use three pointers (prev, current, next) to reverse links.
Example: For list 1 -> 2 -> 3, after reversal it becomes 3 -> 2 -> 1.
Recursive approach: Reverse the rest of the list and adjust pointers.
Example: For list 4 -> 5 -> 6, after reversal it becomes 6 -> 5 -&...
I appeared for an interview in Jun 2024.
Hackerrank test with 5 questions 2 easy 3 medium
I appeared for an interview in Mar 2025, where I was asked the following questions.
Design patterns are reusable solutions to common software design problems, enhancing code maintainability and scalability.
Creational patterns (e.g., Singleton, Factory) manage object creation.
Structural patterns (e.g., Adapter, Composite) deal with object composition.
Behavioral patterns (e.g., Observer, Strategy) focus on communication between objects.
Example of Singleton: Ensures a class has only one instance, like a ...
Leetcode easy medium strings and arrays questions
TCP is a protocol that ensures reliable communication by establishing a connection, managing data transfer, and handling errors.
TCP establishes a connection between two devices before data transfer begins.
It breaks data into packets and numbers them for sequencing.
It uses acknowledgments and retransmissions to ensure all packets are received.
TCP handles flow control by adjusting the transmission rate based on receiver'...
Dynamic programming is a method for solving complex problems by breaking them down into simpler subproblems.
Identify overlapping subproblems and optimal substructure.
Use memoization (top-down) or tabulation (bottom-up) techniques.
Example: Fibonacci sequence can be optimized using dynamic programming.
Example: The Knapsack problem can be solved efficiently with dynamic programming.
I applied via Walk-in and was interviewed in Jul 2024. There was 1 interview round.
HTTP headers are key-value pairs sent between the client and server to provide additional information about the request or response.
HTTP headers consist of a key-value pair separated by a colon, with each pair separated by a new line
Headers are used to provide information such as content type, content length, caching directives, authentication credentials, etc.
Example: 'Content-Type: application/json'
Python coding round for Automation role
Another round of python coding for automation
I applied via LinkedIn
Permutation of a string involves rearranging its characters in all possible orders.
Use recursion to generate all possible permutations
Swap characters at each position to generate different permutations
Base case: when the string length is 1, return the string as a single permutation
I applied via Approached by Company and was interviewed in Apr 2024. There were 3 interview rounds.
HackerRank Coding Test - Non Proctored
Top trending discussions
Some of the top questions asked at the Cisco Software Engineer interview -
The duration of Cisco Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 41 interview experiences
Difficulty level
Duration
based on 272 reviews
Rating in categories
Bangalore / Bengaluru
5-10 Yrs
₹ 4.75-70 LPA
Bangalore / Bengaluru
14-19 Yrs
Not Disclosed
Bangalore / Bengaluru
5-10 Yrs
₹ 4.75-70 LPA
Software Engineer
2.8k
salaries
| ₹13 L/yr - ₹43 L/yr |
Technical Consulting Engineer
679
salaries
| ₹9.8 L/yr - ₹30 L/yr |
Senior Software Engineer
670
salaries
| ₹14.6 L/yr - ₹52 L/yr |
Network Engineer
413
salaries
| ₹3.8 L/yr - ₹13.1 L/yr |
Technical Lead
370
salaries
| ₹19 L/yr - ₹70 L/yr |
Microsoft Corporation
Sterlite Technologies
Nokia Networks