All of us reach a moment in career when we need to pass interview. It may be tough, stressful process that we want to finish faster. Personally, I feel enthusiastic about interviews. Why? Let me share my viewpoint in this post (when I say 'interviews' it is mainly about 'engineering job interviews'). Initially, I divide job interviews into 2 categories: external - when you want to get into a new company internal - when you want to pass an interview for promotion inside your current company. Despite to the category, you of course need a solid technical preparation. Everyone has own approach to technical preparation while I may suggest to write key points by hand. The purpose is not to reread these records later but mainly to remember the information in a structured format as we structure records in a paper. I will not write about resources for preparation as different position and companies have different requirements. Just google it, and do some research. What abo
If you have been exposed to software coding/designing then you probably have heard about OOP. OOP - Object Oriented Programming, is a programming paradigm that builds the structure of application and handles communication between modules by the usage of classes and objects. Now, in simple words. Let's start with comparison. There are other programming paradigms as Functional programming or Procedural programming . So, why OOP is overwhelmingly popular compared to other paradigms whereas almost all popular programming languages(PL) are either fully designed based on OOP concepts or partially supports it. First of all, OOP is one of the most researched and consistent paradigms(snowball effect). Where have it started? The main influencers of the start of hype around OOP were big tech companies and PLs they primarily used. Microsoft with C++ (later with C#), Oracle with Java, Apple with Objective C. But, we still have not found the root reason. Why these companies have chosen/desi