Preparing for an interview? Check out Cracking the Coding Interview
Published on

Senior Software Engineer Cisco experience

Author
  • Shared Anonymously

Initial Phone Screen: (1 HR)

  • Conducted with the technical director.
  • Covered questions related to previous experience, Clean Code, and SOLID principles.
  • Topics included:
    • Polymorphism explanation.
    • Comparison between monolithic and microservices architectures, along with their pros and cons.
    • Task to write code for string reversal.
    • Discussion of various design patterns.
  • Personal experience (current job experience, challenges, etc.)

Interview 1: (1 HR)

  • Problem: Trapping Rain Water Link
  • Allowed to use personal code editor.
  • Required to write code that compiles and includes a few tests.

Interview 2: (1 HR)

  • Tasked with creating a linked list data structure from scratch in a personal code editor.
    • Methods included: add, reverse, print.
  • Required to write code that compiles and includes a few tests.
  • Additionally, tasked with:
    • Using a React sandbox environment.

    • Implementing binding events like adding text to a list and displaying it on button press.

Interview 3: (1 HR)

  • Problem provided::
// package whatever; // don\'t place package name!  
// TASK #1: Impliment removeSubStrings  
// TASK #2: Update to provide more telemetry data  
// TASK #3: Can I make this multi-threaded, i.e. pass in the same sourceString but with different subStrings  
// TASK #4: Does TASK #3 provide any real-world benefits?  
  
def main(str[] args) {  
    str sourceString1 = "JarJarBinksJarJarWiki"; // BinksWiki  
    str sourceString2 = "JarJarBinksJarJar"; // Binks  
    str sourceString3 = "JarJarBinksJarJarWikiJar"; // BinksWikiJar  
    str sourceString4 = "aJarJarBinksJarJarWikiJar"; // aBinksWikiJar  
  
  
    str subString = "JarJar";  
    str finalString = "";  
  
    finalString = removeSubStrings(sourceString1, subString);  
    System.out.println("sourceString1 finalString: " + finalString + System.lineSeparator());  
  
    finalString = removeSubStrings(sourceString2, subString);  
    System.out.println("sourceString2 finalString: " + finalString + System.lineSeparator());  
  
    finalString = removeSubStrings(sourceString3, subString);  
    System.out.println("sourceString3 finalString: " + finalString + System.lineSeparator());  
  
    finalString = removeSubStrings(sourceString4, subString);  
    System.out.println("sourceString4 finalString: " + finalString + System.lineSeparator());  
  
}  
  • Completed up to TASK 2 during the interview however, the interviewer told me from the begging that we'll probably have time for Task 1 and Task2 at max.
  • Implemented in Python in a personal code editor, without the need for compilation or tests; emphasis was on problem-solving approach.
ReportMark as Helpful