That’s why I want to give a simple, short, and clear explanation for each of these concepts. And the complex, excessively long explanations in Wikipedia sometimes double the confusion. These words may sound scary for a junior developer. The four principles of object-oriented programming are encapsulation, abstraction, inheritance, and polymorphism. How an entry-level developer looks like after nailing this question! The level of competence on this question often equals the level of competence on most other subjects.
Is the candidate’s understanding deep or shallow?.Understanding the principles of Object-Oriented Programming (OOP) shows you’ve gone beyond copy and pasting from tutorials - you already see things from a higher perspective. Is the candidate past the tutorial phase?.Did the candidate prepare for this interview?īonus points if you hear an answer immediately - it shows a serious approach.Because it’s an easy way for the interviewer to tell three things: Junior and entry-level developers usually have to answer it. It’s one of those topics that gets asked so often that you can’t allow yourself to not know. I’ve been on both sides of this question. Today I want to talk about a similar type of question in the programming world: What are the main principles of Object-Oriented Programming? When answering, you should be careful, as you may reveal something you later regret. Your current state of mind, your attitude, your perspective. I consider answering this question a great weakness! Anyway, not my point.Īs trivial as questions like these may be, they are important because they give clues about you. Or, even worse: What do you consider to be your greatest weakness? Have you noticed how the same cliche questions always get asked at job interviews - over and over again?įor example: Where do you see yourself in five years?