Cisco Software Engineer
Interview Guide Oct 03
Oct 033 rounds
The role of a Cisco Software Engineer
Cisco is an American multinational technology conglomerate known for developing, manufacturing and selling networking hardware, software, telecommunications equipment and other high-technology services and products.
Cisco has different teams for which it hires Software Engineers. While the exact responsibility will depend on the specific team one is assigned, here's a list of responsibilities that Software engineers across teams will be expected to shoulder:
Role and responsibility
- Participate in a project team of engineers involved in the development of protocols for Cisco products. Requires use of a strong background in SW design, documentation and implementation, on projects that may include any of the following lists of responsibilities:
- Work closely with other SW and HW Engineers to develop and support protocols.
- Design, and determine product direction.
- Represent your team with other Cisco departments, customers, and industry.
- Author product and project specifications.
- Partner with the Management Team in defining and planning projects.
- Take a lead role in Cisco's Patent Program.
- Apply advanced networking principles, theories and concepts.
- Master's degree or BSc with 5+ years of experience in Computer Engineering, Electrical Engineering, Computer Science or related major
- Ability to solve complex problems involving multiple products.
- Ability to effectively present technical concepts to a wide audience.
- Ability to influence the development of industry-wide standards.
- Ability to make good judgement determining how to best achieve technical objectives of an assignment.
- Creative problem-solving skills and excellent troubleshooting/debugging skills
- Excellent teamwork and people skills
- Hands on experience with Java programming
- Required use of Netconf Yang models, developing REST API and JSON
- Experience with Kafka/Cassandra and use of Kubernetes, Docker
- Programming experience (C, C++), script languages (Perl, Python)
- Familiarity with Unix/Linux
- Experience working on embedded systems
- Understanding of networking fundamentals and protocols (ex: TCP/IP, OSPF, BGP, MPLS)
Cisco Software Engineer salary
- Entry-level salary: USD 110,000
- Senior positions: USD 455,000.
- Median salary: USD 260,000 with the base component being USD 185,000, stock component being USD 50,000 and bonus being USD 25,000.
The Cisco Software Engineer interview is a 3-stage process, comprising the Recruiter screen, Technical screen, and the Onsite round.
The Recruiter screen is a 45-minute telephonic interview with the recruiter. The basic aim of this exercise is to test the candidate's motivation for the role and to know if he/she meets the experiential and cultural fit for the role and the company. Candidates who are fresh out of college should be thorough with their CV, and any projects or internships they might have done while at college. Candidates with work experience must be able to explain their previous role(s) and the projects and leadership positions they held.
Most asked interview questions in the Initial Screen.
- What attracts you to software engineering?
- Why have you chosen Cisco?
The technical screen is a one-hour interview with the hiring manager and a senior Cisco software engineer. This round is aimed at assessing your technical skills in the following areas:
- Coding aptitude
- System design
The coding aptitude section of the technical screen has questions that test the general programming abilities of the candidate. Interviewers love to ask questions on object-oriented programming. Students need to be proficient in at least one of the programming languages among C++and They are also expected to be familiar with script languages such as Perl or Python. There may be 2-3 coding questions that need to be attempted through an online shared code editor in the given time limit.
Most commonly asked Coding questions in the Technical screen:
- Write a Perl script to pack consecutive duplicates of list elements into sublists.
- Write a Perl script to generate the combinations of K distinct objects chosen from the N elements of a list.
- Given a number N, write a code to find the last two digits of the Nth fibonacci number.
- Write a function to convert a sorted list into a binary search tree?
- Write a function that takes a list of lists and flattens it into a one-dimensional list.
Systems design is a crucial part of the interview where companies look to test candidates's system design and architecture abilities to meet the challenges of requirements volatility, design process and quality issues (e.g. performance, usability, security, etc.), distributed software development, limited budgets, tight schedules, fast-changing technology etc.
Most commonly asked System Design questions
- How would you design a search engine?
- Can you design a URL Shortening Service?
- How would you improve ebay's front end design?
- Design the front end of a ride-sharing app such as Uber.
- How would you design a chat messenger service like Whatsapp or Facebook messenger?
Want to practice more such questions with a Cisco Software engineer?→ Book now!
The onsite round is an extended version of the phone screen. It is conducted at one of Cisco’s campuses and consists of 4-5 interviews covering various sections like:
- System design
- Coding aptitude
- Leadership and Behavioural aptitude
Each of the 4-5 interviews in the onsite round is 1-hour long. Questions in the onsite round are more in-depth as compared to the technical screen. Besides system design and coding interviews, the onsite round also includes a leadership and behavioural aptitude interview.
In the course of their role of software development, software engineers often have to spend a considerable amount of time on the system design part.
Here are the most commonly asked System Design questions in the Onsite Round
- Explain the design shortcomings of Uber's frontend.
- Design an autocomplete feature like word suggestions on search engines? Can you scale it to millions of users?
- Can you design an application like Airbnb? Describe your approach.
- Design an OTT video streaming platform like Netflix?
Coding is one of the most fundamental skills that software engineers are expected to be good at. Cisco expects its would-be Software engineers to have proficiency in programming languages such as C++ or Java, and scripting languages such as Perl and Python. Cisco Software Engineer interview has a couple of coding rounds which includes 2-3 coding questions in each of the rounds.
Most commonly asked Coding questions in the onsite round
- Write a function to remove any given character from a string?
- Suppose you are given a positive integer, x. Write a code to print all possible combinations of positive integers that add to the number x.
- Write a function to print all permutations of String both in an iterative and Recursive way.
- Write a code to search for a given number in a sorted array, with unique elements, that has been rotated by some arbitrary number. Assume that the array does not have duplicates. Return null if the given number does not exist in the sorted array.
- Use Python to group the elements of a set into disjoint subsets.
The Behavioural interview will consist of questions to assess behavioural aspects of your personality. Interviewers ask situational questions to gauge your behavioural aptitude and leadership skills. Interviewers may also be interested in knowing what attracts you to become a software engineer, or what is your motivation for choosing Cisco.
The most important thing to take care of in behavioural interviews is to speak your mind and be honest in your replies. There is always a possibility of back and forth between you and the interviewers over a question or an answer, so be ready for that.
Most commonly asked questions in the Behavioral section
- Why Cisco?
- Why a career in software engineering?
- What are your long term professional goals?
- Follow the "Think out loud" approach to let the interviewers know your approach to the answer, and avoid rushing to answer.
- Do not hesitate to ask clarifying questions.
- Prepare short byte-sized stories around the leadership positions you have held and use them in your answers for behavioural and leadership questions.
With the above pointers, we are sure you will crack the Cisco Software Engineer interview.
Thanks for reading.
All the best!
Ace the Cisco Onsite round by booking a mock interview with a Cisco Software engineer→ Book now!
Frequently Asked Questions
How many rounds are there in the Cisco Software engineer interview?
There are 3 rounds- Recruiter Screen, Technical Screen, and Onsite Round