Ciena
10+ Interview Questions and Answers
Q1. Given a list of numbers in an array ,traverse the array in a way so as to jump the number of times the value at that particular index example : a[i]=2 then jump to a[i+2] index , on reaching the last index star...
read moreTraverse an array by jumping the number of times the value at that index
Create a loop to traverse the array
Use modulo operator to handle circular array
Jump to the index based on the value at current index
Repeat until all elements are visited
Q2. ex1 ) dict = {'abab' , 'aba', 'xyz', 'xyx'} pattern {'aba'} output {'aba' , 'xyx'} , ex 2) dict = {'abb' , 'abc' , 'xyz', 'xyy'} paatern {'mno'} output {abc , xyz} write production level code
Code to find strings in a dictionary matching a given pattern
Iterate through the dictionary and check if each string matches the pattern
Add the matching strings to an output array
Return the output array
Q3. given the frequency of three letters 'a' 'b' and 'c'..form the largest string by using a,b, and c provided 3 (a , b or c )cant be together and the possible string should be largest.
Form the largest string using a, b, and c with the condition that 3 (a, b, or c) can't be together.
Start with the most frequent letter and alternate with the other two.
If there are two letters with the same frequency, start with the one that has the least number of adjacent letters.
Example: 'abcabcab' is not valid, but 'abacbac' is valid and larger.
Q4. 1.what is bgp confederation?what are bgp state machines?what is NSSA in ospf?how AS-PATH looks like when route update comes out of bgp confederation?
BGP confederation is a method to reduce the number of iBGP peers. BGP state machines are used to maintain BGP sessions. NSSA is a type of OSPF area. AS-PATH in BGP confederation is modified.
BGP confederation is used to split a large AS into smaller sub-ASes to reduce the number of iBGP peers.
BGP state machines are used to maintain BGP sessions and exchange routing information.
NSSA (Not-So-Stubby Area) is a type of OSPF area that allows external routes to be imported into the ...read more
Q5. 2. design and write production code of thread pool
A thread pool is a group of threads that can be reused to execute multiple tasks concurrently.
Define a task interface that encapsulates the work to be done
Create a queue to hold tasks
Create a fixed number of threads in the pool
Each thread should loop indefinitely, taking tasks from the queue and executing them
Use synchronization primitives to ensure thread safety
Consider using a thread-safe data structure for the task queue, such as a concurrent queue
Consider using a thread-s...read more
Q6. How will you inform the business if something is not automatable
I will communicate the limitations of automation and suggest alternative solutions.
Identify the specific task or process that cannot be automated
Analyze the reasons why it cannot be automated
Provide alternative solutions or workarounds
Communicate the limitations and alternatives to the business stakeholders
Q7. 1. sort a stack without auxillary space
Sort a stack without auxiliary space
Use recursion to pop elements from stack and insert them in sorted order
Compare the top element with the next element and swap if necessary
Repeat until stack is sorted
Q8. How will you do end to end automation
End to end automation will be achieved through a systematic approach involving analysis, design, implementation, testing, and deployment.
Identify the processes that can be automated
Design a solution that integrates with existing systems
Implement the automation using appropriate tools and technologies
Test the automation thoroughly to ensure it meets requirements
Deploy the automation and monitor its performance
Continuously improve the automation to optimize efficiency
Q9. shared and unique ptr implementation
Shared and unique pointer implementation in C++
Shared pointers allow multiple pointers to refer to the same object, automatically deleting the object when the last pointer is destroyed.
Unique pointers allow only one pointer to refer to an object, automatically deleting the object when the pointer is destroyed.
Shared pointers use reference counting to keep track of the number of pointers referring to an object.
Unique pointers use move semantics to transfer ownership of an obje...read more
Q10. Any experience with hardware documentation?
Yes, I have experience with hardware documentation.
I have documented hardware installation and setup procedures.
I have created user manuals for hardware products.
I have worked with engineers to document hardware specifications and design.
I have experience with CAD drawings and schematics.
I have created troubleshooting guides for hardware issues.
Q11. deep dive into latest project
Developed a web application for tracking and analyzing user behavior
Used React.js for front-end development
Implemented data visualization using D3.js
Utilized Node.js and Express for back-end development
Integrated with MongoDB for data storage
Q12. Any electronics background?
Yes, I have an electronics background.
I have a Bachelor's degree in Electrical Engineering.
I have worked on various electronics projects during my studies.
I have experience with circuit design and troubleshooting.
I am familiar with electronic components and their functions.
Q13. Sort an unsorted array without inbuilt methods
Implement a sorting algorithm to sort an unsorted array of strings without using inbuilt methods.
Use a sorting algorithm like bubble sort, selection sort, or insertion sort to manually sort the array.
Compare each element with the next one and swap them if they are in the wrong order.
Repeat this process until the array is sorted.
Example: ['banana', 'apple', 'cherry'] -> ['apple', 'banana', 'cherry']
Q14. U-boot handoff to Linux kernel
U-boot hands off control to Linux kernel during boot process.
U-boot loads Linux kernel image into memory
U-boot sets up necessary parameters for Linux kernel
U-boot passes control to Linux kernel by jumping to its entry point
Linux kernel takes over and initializes system hardware
Q15. Semaphore vs Mutex
Semaphore is a signaling mechanism to control access to a shared resource, while Mutex is a locking mechanism to ensure only one thread accesses a resource at a time.
Semaphore can allow multiple threads to access a shared resource simultaneously, while Mutex ensures only one thread can access the resource at a time.
Mutex is more restrictive than Semaphore as it provides exclusive access to a resource, while Semaphore can be used to control access to a pool of resources.
Exampl...read more
More about working at Ciena
Top HR Questions asked in null
Interview Process at null
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month