ciena logo

Ciena Interviews

2 experiences5 reads21 questions50% success rate
Ciena | India | Intern | On Campus | Rejected
ciena logo
Ciena
InternIndiaRejected
November 26, 20243 reads

Summary

I interviewed for an Intern position at Ciena in India in November '24. The process involved an online assessment followed by two face-to-face technical rounds. Despite performing well in the second round, I was ultimately rejected from the program.

Full Experience

I interviewed for an Intern position at Ciena during their campus placements in November '24. The internship was for 6 months, from January to June 2025, with a stipend of 35k for B.Tech students and 40k for Masters students.

First Round: Online Assessment

This round had three sections:
  1. Coding Round: 25 Minutes
    • Q1. I was asked to check if a number's binary representation is a palindrome. This question was exclusively in C, with no other language options.
    • Q2. The second question involved an arrangement of students with given heights. I needed to print the indexes of students who were not standing in increasing height order. This question allowed C++.
  2. Programming Languages Round: 30 Minutes This was an MCQ round focused on syntax. Many confusing pointer-based questions were asked, covering references, pointer arithmetic, and function pointers—basically, deep questions about C language pointer syntax.
  3. Aptitude Round: This section consisted of 5 basic aptitude questions that high school students could solve.

Face to Face Interviews

Round 1:

I started with a self-introduction. The first technical question was to write the syntax of a void function pointer that takes two integers as input and then assign this function pointer to a real function.
Other questions included:
  1. A malloc syntax-related question, asking what malloc returns.
  2. What are static variables, and the difference between static and global variables.
  3. If a struct stores 2 integers and 1 char, how much memory does it occupy? Follow-up: Where is that padding stored internally?
  4. How to find the middle of a Linked List? Follow-up: If there's an even number of nodes, what would the code return, and how can we configure it?
  5. How to avoid deadlock, specifically mentioning the 4 conditions.
  6. The difference between struct and union.
  7. To reverse the words in a sentence, and I had to write the code on paper.
  8. I was asked to explain one of my projects in detail.
  9. The difference between semaphores and mutexes.
  10. The difference between declaration, initialization, and definition for a variable.
I really struggled with many pointer syntax questions, especially regarding the placement of & and *, and felt nervous. At one point, the interviewer asked what topic I was confident in, and I mentioned data structures and algorithms. He then asked for the difference between struct and union, which I couldn't answer, and he commented, 'but these are data structures ;('.

Round 2: (20 out of 35 students shortlisted)

This round also started with a basic introduction.
  1. What would happen if malloc(0) is used?
  2. Write the syntax to declare an array of size 10 that stores pointers to integers, and then declare a pointer to an array of size 10 that stores integers.
  3. Given a syntax snippet:
    int x = 10;
    int *ptr = x;
    ++(*ptr);
    
    I was asked what *ptr would return.
  4. To find a duplicate element in an array containing numbers 1 to n, where exactly one element has a duplicate. I initially started writing C++ code but was asked to switch to C. I then wrote the standard slow pointer and fast pointer code for this problem. I had to explain in detail how the code works, including when the cycle is detected and then when the duplicate element would be detected. I was also asked if the code would run in O(n) time. I initially said yes, but the interviewer questioned if I was sure, suggesting that pointers might be pointing to indexes randomly, which led me to change my answer, admitting the loop might run more than n times.
  5. Puzzle: If there are 4 jars with infinite 10g balls and 1 jar with infinite 9g balls, how would I detect the defective jar if I could only weigh once?
  6. Why do we use mutexes?
  7. Discuss static variables. Have I ever heard of the volatile keyword, why do we use it, and how exactly does the compiler 'optimize' a variable if we don't use volatile?
  8. There was a discussion on whether I had studied compiler design or written assembly code. I talked about my knowledge of the 8086 processor.
I answered most of the questions and puzzles in this round, although I got stuck several times and confidently gave wrong answers to some pointer-based questions. I felt the second interview went much better than the first.

Result: 10 out of 20 students were selected, but I was rejected. Overall, the experience was good, and the interviewers were polite and friendly.

Interview Questions (19)

Q1
Binary Representation Palindrome
Data Structures & Algorithms

Check if a number's binary representation is a palindrome.

Q2
Students Incorrect Height Order
Data Structures & Algorithms

Given students' heights and their current arrangement, identify and print the indexes of students who are not standing in increasing height order.

Q3
C Function Pointer Syntax
Other

Write the C syntax for a void function pointer that accepts two integer inputs and demonstrate how to assign it to a real function.

Q4
C Malloc Function Details
Other

Explain the malloc syntax and describe what type of value malloc returns.

Q5
Static vs Global Variables
Other

Define static variables and explain the differences between static and global variables in C.

Q6
C Struct Memory Layout and Padding
Other

If a C struct contains two integers and one character, calculate the memory it occupies. Follow-up: Where is the memory padding stored internally?

Q7
Find Middle of Linked List
Data Structures & Algorithms

Implement a method to find the middle of a linked list. Follow-up: If the linked list has an even number of nodes, what would the current code return, and how can it be configured to handle this?

Q8
Deadlock Avoidance Conditions
System Design

Explain how to avoid deadlocks by describing the four necessary conditions for deadlock.

Q9
C Struct vs Union
Other

Explain the differences between struct and union in C.

Q10
Reverse Words in a Sentence
Data Structures & Algorithms

Write code to reverse the order of words in a given sentence.

Q11
Semaphores vs Mutex
System Design

Explain the difference between semaphores and mutexes.

Q12
Declaration, Initialization, Definition
Other

Explain the differences between declaration, initialization, and definition for a variable.

Q13
Malloc(0) Behavior
Other

Describe what happens if malloc(0) is called.

Q14
C Pointer Array Declarations
Other

Write the C syntax to declare an array of size 10 that stores pointers to integers, and then declare a pointer to an array of size 10 that stores integers.

Q15
C Pointer Dereference & Increment
Other

Given the C code snippet: int x = 10; int *ptr = x; ++(*ptr); , what would *ptr return?

Q16
Find Duplicate in 1 to N Array
Data Structures & Algorithms

Given an array of n+1 integers where each integer is between 1 and n (inclusive) and there is exactly one duplicate element, find the duplicate. Discuss the time complexity and explain the slow and fast pointer approach (Floyd's Tortoise and Hare).

Q17
Defective Jar Puzzle (One Weighing)
Other

You have 5 jars, four containing infinite 10g balls and one containing infinite 9g balls. With only one weighing, how do you identify the jar with the 9g balls?

Q18
Purpose of Mutex
System Design

Explain the purpose and use cases of mutexes.

Q19
Volatile Keyword and Compiler Optimization
Other

Discuss static variables. Explain the volatile keyword, its purpose, and how a compiler might optimize a variable if the volatile keyword is not used.

Ciena UI Developer
ciena logo
Ciena
UI DeveloperNo Offer
June 5, 20242 reads

Summary

I interviewed for a UI Developer role at Ciena, undergoing a 90-minute technical round focused on advanced JavaScript, React, Redux, and two coding challenges: implementing a call polyfill and counting continuous characters in a string using reduce. I did not receive a response from the recruiter afterward.

Full Experience

My interview experience at Ciena for the UI Developer position involved a comprehensive 90-minute technical round. The discussion covered a wide array of front-end development concepts, starting with advanced JavaScript topics such as higher-order functions, pure functions, and the intricacies of call, apply, and bind methods. We then moved into React, exploring higher-order components, pure components (both functional and class-based), shallow vs. deep comparison, various hooks (useEffect, useRef, and their specific use cases), and how to prevent unnecessary component re-renders.

Redux was also a significant part of the interview, where I was asked about its three principles, how to write a reducer, the use and advantages of middleware, and the in-depth flow of how Redux identifies which reducer should be called. Additionally, I was presented with two coding challenges: one to create a polyfill for the call method and another to write a program using the reduce method to count continuous characters in a string, for example, transforming 'aaabbccaa' into '[{a:3}, {b:2}, {c:2}, {a:2}]'. Unfortunately, after this round, I never received any further communication from the recruiter.

Interview Questions (2)

Q1
Polyfill for `call` method
Data Structures & AlgorithmsMedium

Implement a polyfill for the native JavaScript call method.

Q2
Count Continuous Characters using Reduce
Data Structures & AlgorithmsMedium

Write a program using the reduce method that takes a string as input and returns an array of objects, where each object contains a character and its continuous count. For example, if the input is 'aaabbccaa', the output should be '[{a:3}, {b:2}, {c:2}, {a:2}]'.

Have a Ciena Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Ciena.