What does it take to crack an interview. My perspective.

After taking more than 100 interviews in last 2 years, I would like to share my opinion that what do I look for when I interview technologists. 

There is a structure which an interviewer looks for in the potential hires and I am no exception.

Below is the structure which I look for. 

SOLID principles of programming.

Please know this if you are an OOPS programmer.

Design Patterns by Gang of Four.

It’s important to translate your thoughts in applicable patterns. It helps you and it helps future maintenance engineer of your code.

There are enough materials on these topics. Just wiki and search for examples explaining to your friend. You will get a hang of explaining it.

Software Development Life Cycle.

How did the code which you write in recent times went live. Explain me how it happened or how your end user used it. Don’t just tell me that I checked in the code and it reached production without your knowledge. 

When was the last production issue you had in your code and how did you solve it? What role you played in the troubleshooting.

It's a big plus if you can handle tough times when issue happens and you are captain cool for us.

Are you a hands-on programmer who can write the code or design the system meant for the computers running on network.

Very important to be familiar with your IDE. Please know aspects of coding like machine's memory, configuration, clustering, load balancing, HTTP 1.1 vs 2.0, security (TLS, CORS, XSS, CSRF, SQL Injection etc.).

There are enough materials on System design, writing meaningful RESTful APIs properly. So many folks keep uploading their thoughts on these topics on YouTube. Please spend sometime watching those. Better than binge watching.

How will your store Data?

Thoughts around Database is a must even though you don't care. Please know the latest know how of it. OLTP, OLAP, PL/SQL, NoSQL, Normalization, Denormalization. ACID, BASE.

How do you test your code? Can you automate it?

Having clarity of thoughts around how your code will get tested is very big plus for me. And make sure how you think it can be automated.

There you are! You cracked it.

And please understand it’s not just DS or Algorithms or solving some already known problem from here and there unless I am meeting in your campus.

By the way if you are meeting me for a senior technologist role, a concise syllabus below will help you prepare.

Application (25%)

A Regular Software Architecture – CRUD, ETL, Event Driven

Front End – Thick Client(msi, exe), Thin Client(Web), HTML, CSS, JavaScript,Request-Response, PUT, GET, POST, DELETE, XHR, Promise, Reactive Style(RxJS), Observable, CORS, CSRF, NPM, React, Angular, Streams

Middle Tier – Language Choices (Java, Python, Scala, Kotlin), JVM, JRE, JDK, WebServer, AppServer, NodeJS, Load Balancing, Artifacts, Thick vs Thin, PATH, Environment Variables, VM Arguments, HTTP Based RESTFul Service, MicroServices, Camel

RDBMS – Syntax, Inner and Outer Join, Group By, View, DDL, DML, Index, Stored Procedure, Transaction (ACID), NoSQL, OLTP, OLAP, Normalization, Denormalization, Job Scheduling, CAP Theorem, Distributed, HDFS, Hadoop, Kafka

DevOps – Code Management and Version Control, Build, Maven, Gradle, Jenkins, Teamcity, CI/CD Concepts,What is DevOps, DevOps Tools

Cloud – Saas, Paas, IaaS, 12 Factors App, Containers (Docker, Kubernetes)

Caching Tier – Why, Different Softwares, How

CS Programming Fundamentals (15%)

Time & Space Complexity – Big(O), Sorting – Linear Sort, Merge Sort, Quick Sort, Searching – Linear Search, Binary Search, Data Structures – Array, LinkedList, Stack, Queue

Generic Programs – for Loop, do While

Java (20%)

Fundamentals – Benefits, OOPS, Polymorphism, Inheritance, Encapsulation (PIE), Interface, Abstract Class, JDK 8 Changes (Functional Style)

Core Java – Object Class, Collections (ArrayList, LinkedList, HashMap), java.util.*

DB – JDBC, ORM Frameworks (Hibernate, iBatis)

Multithreading – Machine Cores, Runnable, Thread, Synchronized, Akka

Security – Authentication, Authorization, SSO, OAuth2

Spring – Why, Dependency Injection, AOP, REST Template

Design Patterns – Creational, Structural, Behavioral

QA Automation (15%)

TestNG, Gherkin, Selenium, Protractor, RESTAssured, JMeter

QA Strategies (15%)

Different types of Testing (Smoke, Functional, Regression, Stress, Performance etc), Test Case Creation, Planning, Tools

SDLC – JIRA, Agile

AI/ML (5%)

Supervised – Regression, Classification

Unsupervised – Clustering

All the best :)

Sunil Kumar

On a career break; now exploring suitable options & roles | Ex JLL / HSBC / Irevna (CRISIL) / Scope eKnowledge / Deepak Talwar & Associates / Dalal Street Journal / Indian Railways

4 年

Nicely articulated Saurabh Pathak

Raman Deep Singh

Principal Scrum Master at Fidelity Investments

4 年

Very Insightful and useful tips.. Thanks for sharing Saurabh.

要查看或添加评论,请登录

Saurabh Pathak的更多文章

  • India FinTech Awards 2023 - A brief

    India FinTech Awards 2023 - A brief

    Nagesh Joshi, PMP? CSM? and I had an opportunity to attend India Fintech Awards on February 10th, 2023 held in…

社区洞察

其他会员也浏览了