Taro Logo

Software Engineer III Interview Experience - Bengaluru, India

November 1, 2011
Positive ExperienceGot Offer

Process

It was an exhaustive process with five rounds.

All the rounds were equally detailed against my expectations. I was expecting subsequent rounds to become tougher, but that didn't happen.

Round 1: Panel had 2 people (Sr. Engineer/Lead, I guess).

Interview consisted of basic C questions, like:

  • Write a prototype for a string concatenation function.
  • Implement the above prototype. There were cross-questions, such as: What should be the return type (status code SUCCESS/FAIL)? Should the input string be const* or not? Should the input also contain a length field to take care of non-NULL-terminated strings? Who will take care of malloc/free (caller or the implementation)? What things would you have to take care of if you made this function compile as a library – re-entrancy, etc.?
  • Second question was related to linked list operations. It was a puzzle popularly known as the linked list Y problem; you can Google it. Questions were raised on the complexity of the algorithm and the best solution possible. I was not asked to write any code for this.
  • Implementation of a binary tree.
  • Implementation of a circular linked list and then writing a program to add a new node at the end and delete the existing last one.
  • The 8 Queens problem on a chessboard.
  • Priority inversion.
  • What are priority queues?
  • Write a program to generate combinations of a given set of characters.
  • Use of the volatile type qualifier.
  • How does Windows socket communication work in a single server/multiple client and single-threaded system?
  • Difference between a semaphore and a mutex.
  • Count the number of 1s in an integer.
  • How to multiply a number by 7 without using multiplication and addition.
  • How is a negative number represented in C?
  • How to detect a loop in a linked list.
  • How to delete the current node in a linked list when the previous node is not known.
  • How to find the middle of a linked list.
  • AVL trees.
  • strcmp function (optimized implementation, hint: using checksum).
  • The 8-ball puzzle: given 8 balls, find the odd one in 3 tries (the odd ball can be heavy or light).
  • OS implementation of mutex and semaphore.

Then they asked a puzzle, which was quite easy to crack. They also asked me to ask them a puzzle, and I did that.

Overall, the round was very open. The interviewers were very friendly, and I never felt any stress.

Round 2: 1 guy. Senior Manager.

Asked me in detail about my current project. He was interested more in the network side of IMS, so I went into the details of CSCFs. He specifically grilled me a lot on how an IP packet is routed in the IMS network (UE to PCSCF–ICSCF–SCSCF), and was finally convinced. But he was a very friendly guy and kept me at ease.

Round 3: 1 guy. Senior Manager.

Very cool and friendly guy. Tried to understand how routing in IMS works. Then asked me IP-related questions: How does IP routing work? Subnetting? How does ping work? DNS, ICMP, ARP, DHCP, etc.?

Round 4: 1 guy. Senior Manager.

Asked me if I had written a "sufficiently big" C program in the previous round. Made me implement a binary tree. The source code went up to 4-5 white sheets. Asked a few cross-questions on the code and corrected me where he felt I was wrong.

Round 5: 1 guy. Senior Manager.

Asked me to explain how all layers of the protocol stack work and which network entities are involved, starting from the moment you type a URL in a web browser until the time the page is displayed.

Then asked me a lot of non-technical questions, like "What makes a good manager?" "What are good qualities of a team player?" "How do you think you'll manage work-life balance here under high workload?" etc., etc. Basically, he wanted to study my temperament, as there are no definite answers to these questions.

Questions

How does Windows socket communication work in a single server, multiple client, and single-threaded system?

Write a program to generate combinations of a given set of characters.

Was this helpful?

Interview Statistics

The following metrics were computed from 17 interview experiences for the Cisco Software Engineer III role in Bengaluru, Karnataka.

Success Rate

82%
Pass Rate

Cisco's interview process for their Software Engineer III roles in Bengaluru, Karnataka is incredibly easy as the vast majority of engineers get an offer after going through it.

Experience Rating

Positive76%
Neutral18%
Negative6%

Candidates reported having very good feelings for Cisco's Software Engineer III interview process in Bengaluru, Karnataka.

Cisco Work Experiences