{"id":2308,"date":"2026-05-29T21:47:53","date_gmt":"2026-05-29T21:47:53","guid":{"rendered":"https:\/\/vkrastev1blog.com\/?p=2308"},"modified":"2026-05-29T21:48:41","modified_gmt":"2026-05-29T21:48:41","slug":"questions-and-informations-prepairing-for-java-developer-job-interview","status":"publish","type":"post","link":"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/","title":{"rendered":"Questions and informations prepairing for Java Developer job interview"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">What are SOLID principles ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Single Responsibility Principle (SRP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A class should have only one responsibility.<br>It should have only one reason to change.<br>Benefits include easier testing, lower coupling, and better organization.<br>Example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class Book {<br>private String name;<br>private String author;<br>private String text;<br>\/\/ constructor, getters, and setters<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Open-Closed Principle (OCP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Software entities (classes, modules, functions) should be open for extension but closed for modification.<br>Achieve this by using interfaces, abstract classes, and inheritance.<br>Example:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">interface Shape {<br>double area();<br>}<br>class Circle implements Shape { \/* implementation <em>\/ } class Rectangle implements Shape { \/<\/em> implementation *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Liskov Substitution Principle (LSP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Subtypes must be substitutable for their base types without altering the correctness of the program.<br>Follows the \u201cis-a\u201d relationship.<br>Example:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class Bird { \/* common bird behavior <em>\/ } class Sparrow extends Bird { \/<\/em> specific sparrow behavior *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Interface Segregation Principle (ISP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Clients should not be forced to depend on interfaces they don\u2019t use.<br>Split large interfaces into smaller, more specific ones.<br>Example:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">interface Worker {<br>void work();<br>}<br>interface Eater {<br>void eat();<br>}<br>class Robot implements Worker { \/* implementation *\/ }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Dependency Inversion Principle (DIP):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">High-level modules should not depend on low-level modules; both should depend on abstractions.<br>Abstractions should not depend on details; details should depend on abstractions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Abstraction<br>interface MessageSender {<br>void sendMessage(String message);<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ High-level module<br>class NotificationService {<br>private MessageSender messageSender;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public NotificationService(MessageSender messageSender) {<\/div><div class=\"cm-line\">    this.messageSender = messageSender;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void send(String message) {<\/div><div class=\"cm-line\">    messageSender.sendMessage(message);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Low-level module<br>class EmailSender implements MessageSender {<br>@Override<br>public void sendMessage(String message) {<br>System.out.println(&#8220;Sending Email: &#8221; + message);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Another Low-level module<br>class SmsSender implements MessageSender {<br>@Override<br>public void sendMessage(String message) {<br>System.out.println(&#8220;Sending SMS: &#8221; + message);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Main class<br>public class Main {<br>public static void main(String[] args) {<br>\/\/ Use EmailSender<br>MessageSender emailSender = new EmailSender();<br>NotificationService notificationService1 = new NotificationService(emailSender);<br>notificationService1.send(&#8220;Hello via Email!&#8221;);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/\/ Use SmsSender\n    MessageSender smsSender = new SmsSender();\n    NotificationService notificationService2 = new NotificationService(smsSender);\n    notificationService2.send(&#034;Hello via SMS!&#034;);\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The MessageSender interface serves as the abstraction.<br>High-level module NotificationService depends on this abstraction instead of concrete implementations.<br>Low-level modules like EmailSender and SmsSender also depend on the abstraction by implementing the MessageSender interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Normalization of SQL<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Normalization?<br>Normalization involves structuring data within a relational database to eliminate anomalies like redundancy.<br>It breaks down large, complex tables into smaller ones while maintaining data relationships.<br>Why Is Normalization Important?<br>Reduces Redundancy: By splitting data into smaller tables, we avoid storing the same information multiple times.<br>Improves Query Performance: Smaller normalized tables lead to faster query execution.<br>Minimizes Update Anomalies: Updates can be made without affecting other records.<br>Enhances Data Integrity: Ensures consistent and accurate data.<br>Scenarios for Normalization:<br>Data Integrity: Prevent inconsistencies when updating data (e.g., customer age changes).<br>Efficient Querying: Simplify complex queries by breaking down data.<br>Storage Optimization: Eliminate unnecessary redundancy to save space.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Microservices monolith?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is monolith?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A monolithic application is built as a single, unified unit. It tightly couples all components (such as the client-side UI, database, and server-side application) into one code base.<br>Advantages:<br>Easy Deployment: Since it\u2019s a single executable file or directory, deployment is straightforward.<br>Development Speed: Early in a project\u2019s life, monoliths allow fast development due to their simplicity.<br>Performance: Centralized code can handle various functions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What are Microservices?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices break down the application into smaller, independently deployable services. Each service focuses on a specific business domain.<br>Advantages:<br>Scalability: Microservices allow scaling individual components independently.<br>Flexibility: Developers can choose different technologies for each service.<br>Isolation: Failures in one service don\u2019t affect others.<br>Challenges:<br>Complexity: Managing multiple services requires robust orchestration.<br>Network Overhead: Communication between services introduces latency.<br>Deployment Complexity: Coordinating updates across services can be tricky.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Polymorphism?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method Overriding:<br>When a subclass provides a specific implementation for a method that is already defined in its superclass.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method Overloading:<br>When a class has multiple methods with the same name but different parameters (different number or types of arguments).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Private constructors use?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Private constructors are used in utility classes or constant classes.<br>These classes contain only static methods or members.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Avoiding Subclassing<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Constructor Delegation:<br>Private constructors allow constructor delegation, where specific constructors call a common private constructor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Singleton Pattern<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">About JVM<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Compilation:<br>When you compile a .java file, the Java compiler generates .class files containing bytecode (intermediate representation).<br>Bytecode is platform-independent and can run on any system with a compatible JVM.<br>&#8211;Class Loader Subsystem:<br>Responsible for loading classes into memory.<br>Reads .class files, generates binary data, and stores it in the method area.<br>Creates a Class object representing the loaded class in heap memory.<br>Example: Student s1 = new Student(); Class c1 = s1.getClass();<br>&#8211;Linking:<br>Consists of three steps:<br>Verification: Ensures the correctness of the .class file.<br>Preparation: Allocates memory for class variables and initializes them.<br>Resolution (optional): Resolves symbolic references to other classes or methods.<br>&#8211;Initialization:<br>Executes static initializers (e.g., static blocks) and initializes static variables.<br>Instance variables are initialized when an object is created.<br>&#8211;Execution Engine:<br>Converts bytecode into machine code.<br>Includes Just-In-Time (JIT) compilation for performance optimization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;In summary, the JVM allows Java programs to run anywhere by interpreting bytecode and managing memory<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Privat abstract method?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Use Cases for Private Methods in Abstract Classes:<br>While abstract methods cannot be private, you can use private methods within an abstract class for various purposes:<br>&#8211;Helper Methods: Implement common functionality shared by other methods.<br>&#8211;Encapsulation: Hide implementation details from subclasses.<br>&#8211;Struct-like Classes: Create small classes with private methods that serve as data containers<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Garbage collector?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Heap Memory:<br>Java objects are created in the heap, a dedicated memory area.<br>Some objects become unreachable (no longer referenced by the program).<br>&#8211;Garbage Collector (GC):<br>The GC identifies and deletes unused objects to free up memory.<br>It runs automatically in the background.<br>Two types:<br>Minor GC: Removes unreachable objects in the young generation.<br>Major GC (Full GC): Clears objects in the old generation.<br>&#8211;Benefits:<br>Developers don\u2019t need to explicitly delete objects.<br>GC ensures memory availability and prevents OutOfMemoryErrors<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is OOP?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Four Principles of OOP:<br>&#8211;Encapsulation: Bundling data (attributes) and methods (functions) together within a class to hide implementation details and provide a clean interface.<br>&#8211;Inheritance: Creating new classes based on existing ones, inheriting their attributes and behaviors. It promotes code reuse.<br>&#8211;Polymorphism: Allowing objects of different classes to be treated uniformly through a common interface. It enables flexibility and extensibility.<br>&#8211;Abstraction: Focusing on essential features while hiding unnecessary complexities. Abstraction simplifies the design and makes it more manageable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is ACID properties play a crucial role in ensuring the reliability and consistency of transactions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Atomicity:<br>Transactions are either executed entirely or not at all.<br>No partial execution: If a transaction fails midway, any changes made to the database are rolled back.<br>Example: Consider transferring $100 from account X to account Y. If the transaction fails after deducting from X but before adding to Y, the database remains consistent.<br>&#8211;Consistency:<br>The database must maintain integrity constraints before and after a transaction.<br>Example: If the total amount before a transaction is $700 (X: $500, Y: $200), it should remain the same after the transaction (X: $400, Y: $300).<br>&#8211;Isolation:<br>Multiple transactions can occur concurrently without affecting each other.<br>Changes made by one transaction are not visible to others until committed.<br>Ensures equivalent results as if transactions were executed serially.<br>Example: Isolating transactions prevents inconsistencies due to interleaved operations.<br>&#8211;Durability:<br>Once a transaction is committed, its changes are permanent.<br>Survives system failures or crashes.<br>Ensures data persistence.<br>Example: Even after a system restart, committed changes remain intact.<br>Remember, ACID properties provide the foundation for reliable and consistent database operations! \ud83c\udf1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is Strategy Pattern?<br>Description: Defines a family of algorithms, encapsulates each one, and makes them interchangeable. It allows the algorithm to vary independently from clients that use them.<br>Example:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Interface for eat behavior<br>interface EatBehavior {<br>void eat();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Concrete implementations of eat behavior<br>class NormalDiet implements EatBehavior {<br>@Override<br>public void eat() {<br>\/\/ Normal food<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class LosingWeightDiet implements EatBehavior {<br>@Override<br>public void eat() {<br>\/\/ Healthy food<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Cat class with eat behavior<br>abstract class Cat {<br>EatBehavior eatBehavior;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public void eat() {<\/div><div class=\"cm-line\">    eatBehavior.eat();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void setEatBehavior(EatBehavior eatBehavior) {<\/div><div class=\"cm-line\"> this.eatBehavior = eatBehavior;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Usage<br>Cat cat = new Cat();<br>cat.setEatBehavior(new LosingWeightDiet());<br>cat.eat(); \/\/ Cat eats with a healthier diet<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Creational Patterns:<br>These patterns focus on class instantiation.<br>Examples include<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Factory Method,<br>Problem Statement: Suppose we want to create different types of products (e.g., cars, bikes, cycles) without tightly coupling our code to specific implementations.<br>Key Components:<br>Product: An abstract class or interface defining common operations for the objects that the factory will create.<br>Concrete Products: Actual classes implementing the Product interface, representing specific types of objects.<br>Creator: An abstract class or interface declaring the factory method. It\u2019s responsible for creating Product objects but delegates the actual creation to subclasses.<br>Concrete Creators: Subclasses of the Creator that implement the factory method. They decide which specific Concrete Product to create based on input parameters or configuration.<br>Factory Method: A method defined in the Creator class that creates Product objects. It\u2019s typically declared as abstract in the Creator and implemented in the Concrete Creators.<br>Example in Java: Let\u2019s say we have a Factory that produces different types of vehicles. Here\u2019s a simplified example:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Abstract Product<br>interface Product {<br>void display();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Concrete Products<br>class Car implements Product {<br>public void display() {<br>System.out.println(&#8220;Car created&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class Bike implements Product {<br>public void display() {<br>System.out.println(&#8220;Bike created&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Creator (Factory)<br>interface Factory {<br>Product factoryMethod();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Concrete Creators<br>class ConcreteFactoryA implements Factory {<br>public Product factoryMethod() {<br>return new Car();<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class ConcreteFactoryB implements Factory {<br>public Product factoryMethod() {<br>return new Bike();<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class FactoryMethodExample {<br>public static void main(String[] args) {<br>Factory factoryA = new ConcreteFactoryA();<br>Product productA = factoryA.factoryMethod();<br>productA.display();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    Factory factoryB = new ConcreteFactoryB();\n    Product productB = factoryB.factoryMethod();\n    productB.display();\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Builder<br>The Builder Pattern is a creational design pattern that allows you to construct complex objects step by step,<br>separating their construction from their representation. Here\u2019s a simple example in Java:<br>\/\/ Define the class you want to build<br>class Post {<br>private final String title;<br>private final String text;<br>private final String category;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Post(Builder builder) {<\/div><div class=\"cm-line\">    this.title = builder.title;<\/div><div class=\"cm-line\">    this.text = builder.text;<\/div><div class=\"cm-line\">    this.category = builder.category;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Getters for properties<\/div><div class=\"cm-line\">public String getTitle() {<\/div><div class=\"cm-line\">    return title;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public String getText() {<\/div><div class=\"cm-line\">    return text;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public String getCategory() {<\/div><div class=\"cm-line\">    return category;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Builder class<\/div><div class=\"cm-line\">public static class Builder {<\/div><div class=\"cm-line\">    private String title;<\/div><div class=\"cm-line\">    private String text;<\/div><div class=\"cm-line\">    private String category;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder title(String title) {<\/div><div class=\"cm-line\">        this.title = title;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder text(String text) {<\/div><div class=\"cm-line\">        this.text = text;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Builder category(String category) {<\/div><div class=\"cm-line\">        this.category = category;<\/div><div class=\"cm-line\">        return this;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Post build() {<\/div><div class=\"cm-line\">        return new Post(this);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Usage<br>public class Main {<br>public static void main(String[] args) {<br>Post post = new Post.Builder()<br>.title(&#8220;Java Builder Pattern&#8221;)<br>.text(&#8220;Explaining how to implement the Builder Pattern in Java&#8221;)<br>.category(&#8220;Design Patterns&#8221;)<br>.build();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    System.out.println(&#034;Title: &#034; + post.getTitle());\n    System.out.println(&#034;Text: &#034; + post.getText());\n    System.out.println(&#034;Category: &#034; + post.getCategory());\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Prototype<br>The Prototype Pattern is a creational design pattern that allows you to create new objects by copying an existing object.<br>Instead of creating new instances from scratch, you clone an existing prototype, which can be more efficient and flexible. Let\u2019s dive into an example in Java:<br>Define the Prototype Interface: First, we create an abstract class or interface called Tree with an abstract method copy():<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public abstract class Tree {<br>public abstract Tree copy();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Concrete Prototypes: Next, we implement two concrete classes that extend Tree: PlasticTree and PineTree. These classes represent specific types of trees and provide their own implementation of the copy() method:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class PlasticTree extends Tree {<br>@Override<br>public Tree copy() {<br>PlasticTree plasticTreeClone = new PlasticTree(this.getMass(), this.getHeight());<br>plasticTreeClone.setPosition(this.getPosition());<br>return plasticTreeClone;<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class PineTree extends Tree {<br>@Override<br>public Tree copy() {<br>PineTree pineTreeClone = new PineTree(this.getMass(), this.getHeight());<br>pineTreeClone.setPosition(this.getPosition());<br>return pineTreeClone;<br>}<br>}<br>In these classes, we customize the cloning process based on the specific tree type. For example, we copy the mass, height, and position of the original tree.<br>Usage: Now, let\u2019s create instances of our concrete prototypes:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class Main {<br>public static void main(String[] args) {<br>Tree originalPlasticTree = new PlasticTree(10, 5);<br>Tree clonedPlasticTree = originalPlasticTree.copy();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    Tree originalPineTree = new PineTree(15, 8);\n    Tree clonedPineTree = originalPineTree.copy();\n\n    \/\/ Use the cloned trees as needed\n    \/\/ ...\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What are Structural Patterns?<br>These patterns deal with a class\u2019s structure and composition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Adapter Pattern<br>The Adapter Pattern is a structural design pattern that allows you to make two incompatible interfaces work together.<br>It acts as a bridge between these interfaces, enabling collaboration without modifying their source code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Object Adapter:<br>In this approach, we use composition to delegate logic to the adapter.<br>The adapter contains the Adaptee and delegates the request() method to the specificRequest() method in the Adaptee.<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Adaptee (existing class)<br>class Adaptee {<br>void specificRequest() {<br>System.out.println(&#8220;Adaptee&#8217;s specific request&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Target interface<br>interface Target {<br>void request();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Adapter (using composition)<br>class Adapter implements Target {<br>private final Adaptee adaptee;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Adapter(Adaptee adaptee) {<\/div><div class=\"cm-line\">    this.adaptee = adaptee;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void request() {<\/div><div class=\"cm-line\">    adaptee.specificRequest();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Class Adapter:<br>Requires multiple inheritance (not directly possible in Java).<br>We can achieve it using interfaces with default methods.<br>The adapter extends both the Target and the Adaptee classes.<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Target interface<br>interface Target {<br>void request();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Adaptee (existing class)<br>class Adaptee {<br>void specificRequest() {<br>System.out.println(&#8220;Adaptee&#8217;s specific request&#8221;);<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Adapter (using class inheritance)<br>class Adapter extends Adaptee implements Target {<br>@Override<br>public void request() {<br>specificRequest();<br>}<br>}<br>Benefits and Trade-Offs:<br>Class Adapter works well for one-to-one method mapping.<br>Object Adapter provides more flexibility and avoids code modification.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Decorator Pattern<br>The Decorator Pattern is a creational design pattern that allows you to dynamically add functionality and behavior to an object without<br>affecting the behavior of other existing objects within the same class. It\u2019s particularly useful when you want to extend an object\u2019s<br>capabilities without altering its structure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Overview:<br>The Decorator Pattern provides an enhanced interface to the original object by wrapping it with additional functionality.<br>We prefer composition over inheritance to reduce subclassing overhead.<br>Decorators can be added at runtime, allowing flexibility.<br>Example Scenario: Suppose we have a ChristmasTree object, and we want to decorate it with various items like garland, tinsel, and bubble lights. We\u2019ll follow the original Gang of Four design conventions:<br>Implementation:<br>First, create a ChristmasTree interface:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public interface ChristmasTree {<br>String decorate();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Implement the interface with a basic tree:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class ChristmasTreeImpl implements ChristmasTree {<br>@Override<br>public String decorate() {<br>return &#8220;Christmas tree&#8221;;<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, create an abstract TreeDecorator class that implements ChristmasTree and holds the decorated tree:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public abstract class TreeDecorator implements ChristmasTree {<br>private final ChristmasTree tree;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public TreeDecorator(ChristmasTree tree) {<\/div><div class=\"cm-line\">    this.tree = tree;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return tree.decorate();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now create specific decorators. For example, BubbleLights:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class BubbleLights extends TreeDecorator {<br>public BubbleLights(ChristmasTree tree) {<br>super(tree);<br>}<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return super.decorate() + &quot; with Bubble Lights&quot;;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class Garland extends TreeDecorator {<br>public Garland(ChristmasTree tree) {<br>super(tree);<br>}<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public String decorate() {<\/div><div class=\"cm-line\">    return super.decorate() + &quot; with Garland&quot;;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<br>Usage:<br>Create decorated trees:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class DecoratorPatternDemo {<br>public static void main(String[] args) {<br>ChristmasTree tree1 = new Garland(new ChristmasTreeImpl());<br>System.out.println(tree1.decorate()); \/\/ Output: &#8220;Christmas tree with Garland&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    ChristmasTree tree2 = new BubbleLights(new Garland(new Garland(new ChristmasTreeImpl())));\n    System.out.println(tree2.decorate()); \/\/ Output: &#034;Christmas tree with Garland with Garland with Bubble Lights&#034;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<br>The pattern allows adding decorators at runtime, giving flexibility to decorate as needed.<br>Remember, the Decorator Pattern is widely used in scenarios where you want to enhance an object\u2019s behavior without modifying its core structure<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212; Facade Pattern<br>The Facade Pattern is a structural design pattern that simplifies the interaction with a complex subsystem by providing a unified interface.<br>It acts as a \u201cfront door\u201d to hide the underlying complexity and make it easier for clients to use the system<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;Composite<br>The Composite Pattern is a structural design pattern that allows you to compose objects into tree structures to represent part-whole hierarchies.<br>The main idea behind the Composite Pattern is to build a tree structure of objects, where individual objects and composite objects share a common interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Base Component (Department): We\u2019ll define a simple Department interface as our base component:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public interface Department {<br>void printDepartmentName();<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Leaf Components (FinancialDepartment and SalesDepartment): Let\u2019s create classes for financial and sales departments, both implementing the Department interface:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class FinancialDepartment implements Department {<br>\/\/ Implementation details (e.g., id, name)<br>public void printDepartmentName() {<br>System.out.println(getClass().getSimpleName());<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class SalesDepartment implements Department {<br>\/\/ Implementation details (e.g., id, name)<br>public void printDepartmentName() {<br>System.out.println(getClass().getSimpleName());<br>}<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These leaf classes implement the printDepartmentName() method and don\u2019t contain references to other Department objects.<br>Composite Element (HeadDepartment): As a composite class, let\u2019s create a HeadDepartment that holds a collection of Department components:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.util.ArrayList;<br>import java.util.List;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class HeadDepartment implements Department {<br>private Integer id;<br>private String name;<br>private List childDepartments;<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public HeadDepartment(Integer id, String name) {<\/div><div class=\"cm-line\">    this.id = id;<\/div><div class=\"cm-line\">    this.name = name;<\/div><div class=\"cm-line\">    this.childDepartments = new ArrayList&lt;&gt;();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void printDepartmentName() {<\/div><div class=\"cm-line\">    childDepartments.forEach(Department::printDepartmentName);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void addDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.add(department);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void removeDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.remove(department);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The HeadDepartment class implements the printDepartmentName() method and provides methods for adding and removing child departments.<br>Usage: You can create instances of leaf departments (e.g., FinancialDepartment, SalesDepartment) and a composite department (e.g., HeadDepartment). Add leaf departments to the composite and print their names.<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class Main {<br>public static void main(String[] args) {<br>Department finance = new FinancialDepartment();<br>Department sales = new SalesDepartment();<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    HeadDepartment headDepartment = new HeadDepartment(1, &#034;Company Departments&#034;);\n    headDepartment.addDepartment(finance);\n    headDepartment.addDepartment(sales);\n\n    headDepartment.printDepartmentName();\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Output:<br>FinancialDepartment<br>SalesDepartment<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Composite Pattern allows you to create flexible tree structures where<br>individual objects and compositions (composites) can be treated uniformly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is HASH Function !!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A hash function is a mathematical function that takes an input (or &#8220;message&#8221;) and returns a fixed-size string of characters,<br>which is typically a sequence of numbers and letters. This output is called a &#8220;hash value&#8221; or simply a &#8220;hash.&#8221;<br>Hash functions are commonly used in computer science and cryptography, and they have a few important properties:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">=== How would you use hash function and how it works ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deterministic: The same input will always produce the same hash.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fast: The function can quickly compute the hash value for any given input.<br>Unique (almost): Two different inputs should produce distinct hashes (this is known as minimizing &#8220;collisions&#8221;).<br>Irreversible: Given a hash, it should be computationally infeasible to determine the original input.<br>Uniform: The hash values are evenly distributed over the output space.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hash functions are widely used in various applications, such as:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Data Integrity: To ensure that data hasn&#8217;t been changed or faked, by comparing hash values.<br>Password Storage: Securely storing hashed passwords instead of the actual passwords.<br>Cryptography: Used in digital signatures and other cryptographic algorithms.<br>Hash Tables: For efficient data retrieval in programming.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">=== Give me example of hash map, how would you use it ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SHA (Secure Hash Algorithm):<br>Includes variants like SHA-1, SHA-256, SHA-384, and SHA-512.<br>SHA-256 and SHA-512 are widely used in cryptography and blockchain technology (e.g., Bitcoin).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.security.MessageDigest;<br>import java.security.NoSuchAlgorithmException;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class HashExample {<br>public static void main(String[] args) {<br>try {<br>\/\/ The input string to be hashed<br>String input = &#8220;Hello, world!&#8221;;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        \/\/ Create a MessageDigest instance for SHA-256\n        MessageDigest digest = MessageDigest.getInstance(&#034;SHA-256&#034;);\n\n        \/\/ Compute the hash\n        byte&#091;] hash = digest.digest(input.getBytes());\n\n        \/\/ Convert the hash bytes to a hexadecimal string\n        StringBuilder hexString = new StringBuilder();\n        for (byte b : hash) {\n            String hex = String.format(&#034;%02x&#034;, b);\n            hexString.append(hex);\n        }\n\n        \/\/ Print the resulting hash\n        System.out.println(&#034;SHA-256 Hash: &#034; + hexString.toString());\n    } catch (NoSuchAlgorithmException e) {\n        System.err.println(&#034;Error: &#034; + e.getMessage());\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Input Data: The input variable contains the data you want to hash.<br>MessageDigest Initialization: The MessageDigest instance is created using getInstance(&#8220;SHA-256&#8221;), which specifies the SHA-256 hashing algorithm.<br>Hashing: The digest method computes the hash of the input data.<br>Hexadecimal Conversion: Since the hash is in binary format, we use a loop to convert it into a more readable hexadecimal string.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Put and Patch ? When to use it ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Both PUT and PATCH are HTTP methods used to update resources on a server, but they differ in how they handle updates:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PUT:<br>Full Update:<br>PUT is used to completely replace an existing resource.<br>The entire resource needs to be sent in the request, even if only a part of it is being changed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the resource doesn&#8217;t exist, PUT often creates it (though this behavior may vary).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Idempotent:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Repeated PUT requests with the same data will always result in the same state of the resource.<br>Example: Updating a user&#8217;s profile:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<br>PUT \/users\/123<br>{<br>&#8220;name&#8221;: &#8220;Velislav&#8221;,<br>&#8220;email&#8221;: &#8220;velislav@example.com&#8221;,<br>&#8220;age&#8221;: 30<br>}<br>If only the name changes but the email and age remain the same, they must still be included in the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PATCH:<br>Partial Update:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PATCH is used to make a partial update to an existing resource.<br>Only the fields being changed need to be sent in the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Idempotent (Mostly):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like PUT, repeated PATCH requests with the same data generally result in the same state of the resource.<br>However, behavior might depend on the server implementation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example: Updating only the user&#8217;s name:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<br>PATCH \/users\/123<br>{<br>&#8220;name&#8221;: &#8220;Velislav&#8221;<br>}<br>Here, only the name field is updated, leaving other fields unchanged.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key Difference:<br>PUT replaces the entire resource, while PATCH modifies only specified fields of the resource.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>HTTP methods with a short description.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GET: Used to retrieve data from the server without modifying it. Commonly used for fetching resources or information.<br>POST: Used to send data to the server, typically to create a new resource. For example, submitting a form or uploading a file.<br>PUT: Used to update or completely replace an existing resource on the server. If the resource doesn\u2019t exist, it may be created.<br>PATCH: Used for partial updates to an existing resource, modifying only the specified fields.<br>DELETE: Used to delete a resource from the server.<br>HEAD: Similar to GET, used to retrieve headers without the body of a resource.<br>OPTIONS: It tells what HTTP methods are allowed.<br>TRACE: Used mainly for diagnostic purposes by echoing the request back to the client<br>CONNECT: Establishes a tunnel to the server, often used for SSL\/TLS connections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">========== Functional Interface ====================================<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A functional interface in Java is an interface that contains exactly one abstract method. These interfaces are used primarily in lambda expressions and method references, enabling more concise and readable functional programming.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key Features:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Single Abstract Method<\/strong>: A functional interface has only one abstract method. This is the essence of its functionality.<\/li>\n\n\n\n<li><strong>Default and Static Methods<\/strong>: Functional interfaces can include default and static methods, but these do not count as the single abstract method.<\/li>\n\n\n\n<li><strong>@FunctionalInterface Annotation<\/strong>: While this annotation is optional, it helps by signaling that the interface is intended to be a functional one. If additional abstract methods are added to the interface, the compiler throws an error.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Example:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@FunctionalInterface<\/div><div class=\"cm-line\">interface Calculator {<\/div><div class=\"cm-line\">    int calculate(int a, int b);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Using lambda expression<\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        \/\/ Implementing the calculate method using a lambda<\/div><div class=\"cm-line\">        Calculator addition = (a, b) -&gt; a + b;<\/div><div class=\"cm-line\">        Calculator multiplication = (a, b) -&gt; a * b;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(&quot;Addition: &quot; + addition.calculate(5, 3));  \/\/ Output: 8<\/div><div class=\"cm-line\">        System.out.println(&quot;Multiplication: &quot; + multiplication.calculate(5, 3));  \/\/ Output: 15<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Use Case:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>Calculator<\/code> interface in the example has a single abstract method <code>calculate<\/code>, making it a functional interface.<br>This allows us to use lambda expressions for brevity and elegance in implementation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common Functional Interfaces in Java:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java provides several built-in functional interfaces in the <code>java.util.function<\/code> package, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Predicate<\/strong>: Takes an input and returns a boolean.<\/li>\n\n\n\n<li><strong>Function<\/strong>: Takes an input and returns an output of type R.<\/li>\n\n\n\n<li><strong>Supplier<\/strong>: Provides a value without input.<\/li>\n\n\n\n<li><strong>Consumer<\/strong>: Accepts a value and performs an action.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Functional interfaces streamline operations, especially in scenarios like working with collections, streams, or asynchronous tasks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">They empower Java to adopt functional programming paradigms while maintaining its object-oriented nature.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">================ higher-order function is =============================<br>A higher-order function is a function that either takes other functions as arguments or returns a function as its result. In other words, it operates on functions, treating them as &#8220;first-class citizens.&#8221; This is a powerful feature in functional programming paradigms, enabling abstraction, code reuse, and composition.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example of a Higher-Order Function in Java:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.function.Function;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        \/\/ Higher-order function: applies a function to a value<\/div><div class=\"cm-line\">        Function&lt;Integer, Integer&gt; squareFunction = x -&gt; x * x;<\/div><div class=\"cm-line\">        int result = applyFunction(5, squareFunction);<\/div><div class=\"cm-line\">        System.out.println(&quot;Square of 5: &quot; + result);  \/\/ Output: 25<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int applyFunction(int value, Function&lt;Integer, Integer&gt; function) {<\/div><div class=\"cm-line\">        return function.apply(value);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In the example above:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <code>applyFunction<\/code> method is a higher-order function because it accepts another function (<code>Function&lt;Integer, Integer&gt;<\/code>) as a parameter.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Characteristics:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Accepts Functions as Arguments<\/strong>: Higher-order functions can take other functions as input to perform specific operations.<\/li>\n\n\n\n<li><strong>Returns Functions<\/strong>: They can generate and return new functions dynamically.<\/li>\n\n\n\n<li><strong>Encourages Code Reuse<\/strong>: Promotes modular and reusable code since functions can be passed around and composed together.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Use Case:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In Java, higher-order functions are commonly used in functional programming with streams, lambdas, and method references. For example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;String&gt; names = Arrays.asList(&quot;John&quot;, &quot;Jane&quot;, &quot;Jake&quot;);<\/div><div class=\"cm-line\">names.stream()<\/div><div class=\"cm-line\">     .filter(name -&gt; name.startsWith(&quot;J&quot;))  \/\/ Takes a lambda function as argument<\/div><div class=\"cm-line\">     .forEach(System.out::println);         \/\/ Takes a method reference as argument<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Higher-order functions bring flexibility and power to Java programs, allowing developers to write clean, concise, and expressive code!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Some real world Interview response sets here.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Understands basics like polymorphism, static methods, and String pool<\/li>\n\n\n\n<li>familiar with collections (e.g., HashSet, TreeSet) and their use cases.<\/li>\n\n\n\n<li>Correctly identifies bean scopes (singleton, prototype)<\/li>\n\n\n\n<li>Aware of dependency injection and its purpose.<\/li>\n\n\n\n<li>knows how to implement many-to-many relationships using junction tables.<\/li>\n\n\n\n<li>Understands the purpose of indexes (though superficially)<\/li>\n\n\n\n<li>can differentiate between monolithic and microservice architectures<\/li>\n\n\n\n<li>understands basic trade-offs (scalability, maintainability)<\/li>\n\n\n\n<li>misunderstands Liskov Substitution Principle and Dependency Inversion<\/li>\n\n\n\n<li>Struggles to provide concrete examples for Open\/Closed Principle.<\/li>\n\n\n\n<li>Lacks depth in bean lifecycle management<\/li>\n\n\n\n<li>Unclear on advanced dependency injection<\/li>\n\n\n\n<li>superficial understanding of indexes (composite indexes, query optimization)<\/li>\n\n\n\n<li>Unfamiliar with isolation levels and optimistic\/pessimistic locking<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pros:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Worked with legacy code in a huge and complex system<\/li>\n\n\n\n<li>Knows SOLID<\/li>\n\n\n\n<li>Knowledge of streams<\/li>\n\n\n\n<li>Explained indexes and ACID<\/li>\n\n\n\n<li>Good level of English<br>Cons:<\/li>\n\n\n\n<li>No responsibility for deployment or infrastructure, participation in architecture design<\/li>\n\n\n\n<li>Has some knowledge of the OOP principles but really struggled to explain them and got some concepts wrong<\/li>\n\n\n\n<li>General knowledge of collections but has gaps and very uncertain<\/li>\n\n\n\n<li>Doesn\u2019t understand the difference between concurrency and parallelism, not very strong knowledge of concurrency<\/li>\n\n\n\n<li>Not looked into the micro service architecture much<\/li>\n\n\n\n<li>Vague on some database concepts (indexes discussion was surface-level)<\/li>\n\n\n\n<li>Couldn&#8217;t explain livelock<\/li>\n\n\n\n<li>Gaps in finally block understanding<\/li>\n\n\n\n<li>Limited knowledge of exception handling specifics<\/li>\n\n\n\n<li>Confused around access modifiers (Protected vs. Package Private)<br>The consensus opinion \u2026..is<br>not suitable for the Mid-Java developer position due to the gaps in his technical knowledge.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pros<br>Explained SOLID well<br>Explained OOP well<br>Explained composition (but struggled initially a bit)<br>Excellent understanding of collections<br>Difference between lists and sets<br>Hashsets<br>Hashmap<br>ConcurrentHashmap<br>Good understanding of data structures &#8211; stacks, queues, trees<br>Good knowledge of the jvm architecture<br>Explained concurrency vs parallelism, demonstrated good knowledge of multithreaded applications<br>Good understanding of REST<br>Explained db indexes well<br>Explained different types of joins<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are SOLID principles? What is Single Responsibility Principle (SRP): A class should have only one responsibility.It should have only one reason to change.Benefits include easier testing, lower coupling, and better organization.Example: Java public class Book {private String name;private String author;private String text;\/\/ constructor, getters, and setters} What is Open-Closed Principle (OCP): Software entities [&hellip;]<\/p>\n","protected":false},"author":65283547,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1017],"tags":[11788,789678139,2549795,196,789678143],"class_list":["post-2308","post","type-post","status-publish","format-standard","hentry","category-java","tag-interview","tag-interview-java-developer","tag-java","tag-programming","tag-questions-java-developer"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4CoHV-Be","jetpack-related-posts":[{"id":2537,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d1%82%d1%80%d0%b5%d1%82%d0%b8%d1%8f%d1%82-%d0%b2%d1%81%d0%b5%d0%bb%d0%b5%d0%bd%d1%81%d0%ba%d0%b8-%d1%81%d1%8a%d0%b1%d0%be%d1%80-%d0%b2-%d0%b5%d1%84%d0%b5%d1%81-431-%d0%b3-%d1%85%d1%80%d0%b8%d1%81\/","url_meta":{"origin":2308,"position":0},"title":"The Third Ecumenical Council of Ephesus (431): the Christological dispute between Cyril of Alexandria and Nestorius and the affirmation of the doctrine of the Mother of God","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440 \u0432 \u0415\u0444\u0435\u0441 (431 \u0433.): \u0445\u0440\u0438\u0441\u0442\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0438\u044f\u0442 \u0441\u043f\u043e\u0440 \u043c\u0435\u0436\u0434\u0443 \u041a\u0438\u0440\u0438\u043b \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0438\u0439\u0441\u043a\u0438 \u0438 \u041d\u0435\u0441\u0442\u043e\u0440\u0438\u0439 \u0438 \u0443\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0443\u0447\u0435\u043d\u0438\u0435\u0442\u043e \u0437\u0430 \u0411\u043e\u0433\u043e\u0440\u043e\u0434\u0438\u0446\u0430 \u041d\u0430\u0443\u0447\u043d\u043e-\u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e \u0438 \u0431\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u0441\u043a\u043e \u0438\u0437\u0441\u043b\u0435\u0434\u0432\u0430\u043d\u0435 \u0410\u0432\u0442\u043e\u0440: \u0412\u0435\u043b\u0438\u0441\u043b\u0430\u0432 \u041a\u0440\u044a\u0441\u0442\u0435\u0432\u0422\u0435\u043c\u0430: \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0440\u0430\u043d\u043d\u0430\u0442\u0430 \u0426\u044a\u0440\u043a\u0432\u0430 \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u0442\u0430 \u0434\u043e\u0433\u043c\u0430\u0442\u0438\u043a\u0430\u041f\u0435\u0440\u0438\u043e\u0434: 428\u2013451 \u0433.\u041e\u0441\u043d\u043e\u0432\u043d\u043e \u0441\u044a\u0431\u0438\u0442\u0438\u0435: \u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u0415\u0444\u0435\u0441, 431 \u0433. \u0420\u0435\u0437\u044e\u043c\u0435 \u0422\u0440\u0435\u0442\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u2026","rel":"","context":"In &quot;Articles devoted to the Bible and about the spirit and the body&quot;","block_context":{"text":"Articles devoted to the Bible and about the spirit and the body","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/chatgpt-image-oct-2-2026-08_12_12-pm.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":901,"url":"https:\/\/vkrastev1blog.com\/2024\/11\/17\/%d0%ba%d0%be%d0%bb%d0%ba%d0%be-%d0%bf%d1%80%d0%be%d1%82%d0%b5%d0%b8%d0%bd%d0%b8-%d0%b4%d0%b0-%d0%bf%d1%80%d0%b8%d0%b5%d0%bc%d0%b0%d0%bc%d0%b5-%d0%bd%d0%b0-%d0%b4%d0%b5%d0%bd\/","url_meta":{"origin":2308,"position":1},"title":"How much protein to eat per day and the effects of protein starvation","author":"vkrastev2014","date":"17.11.2024","format":false,"excerpt":"\u041a\u043e\u043b\u043a\u043e \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u0438 \u0434\u0430 \u043f\u0440\u0438\u0435\u043c\u0430\u043c\u0435 \u043d\u0430 \u0434\u0435\u043d \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0438\u0446\u0438\u0442\u0435 \u043e\u0442 \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u043e\u0432 \u0433\u043b\u0430\u0434 \u041f\u0440\u0438\u0435\u043c\u044a\u0442 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u0438 \u043d\u0430 \u0434\u0435\u043d \u0435 \u043e\u0442 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c\u0430 \u043f\u043e\u0440\u0430\u0434\u0438 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0438: \u0418\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u044a\u043a\u0430\u043d\u0438: \u041f\u0440\u043e\u0442\u0435\u0438\u043d\u0438\u0442\u0435 \u0441\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u0433\u0440\u0430\u0434\u0438\u0432\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043d\u0430 \u043c\u0443\u0441\u043a\u0443\u043b\u0438\u0442\u0435, \u043a\u043e\u0436\u0430\u0442\u0430, \u043a\u043e\u0441\u0430\u0442\u0430 \u0438 \u043d\u043e\u043a\u0442\u0438\u0442\u0435. \u0422\u0435 \u0441\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0437\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u044a\u043a\u0430\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u2026","rel":"","context":"In &quot;Articles devoted to the Bible and about the spirit and the body&quot;","block_context":{"text":"Articles devoted to the Bible and about the spirit and the body","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/11\/image-17.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2586,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d0%b2%d0%b5%d0%bb%d0%b8%d0%ba%d0%b0%d1%82%d0%b0-%d1%81%d1%85%d0%b8%d0%b7%d0%bc%d0%b0-%d0%be%d1%82-1054-%d0%b3-%d0%b8%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d1%82%d0%b5\/","url_meta":{"origin":2308,"position":2},"title":"The Great Schism of 1054 - the historical reasons for the split between the Orthodox and Roman Catholic Churches","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0412\u0435\u043b\u0438\u043a\u0430\u0442\u0430 \u0441\u0445\u0438\u0437\u043c\u0430 \u043e\u0442 1054 \u0433. \u2014 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0438 \u0437\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u041f\u0440\u0430\u0432\u043e\u0441\u043b\u0430\u0432\u043d\u0430\u0442\u0430 \u0438 \u0420\u0438\u043c\u043e\u043a\u0430\u0442\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u0420\u0435\u0437\u044e\u043c\u0435 \u0412\u0435\u043b\u0438\u043a\u0430\u0442\u0430 \u0441\u0445\u0438\u0437\u043c\u0430 \u043e\u0442 1054 \u0433. \u0435 \u0435\u0434\u043d\u043e \u043e\u0442 \u043d\u0430\u0439-\u0437\u043d\u0430\u0447\u0438\u043c\u0438\u0442\u0435 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e\u0442\u043e. \u0422\u044f \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0441\u0435 \u0441\u0432\u044a\u0440\u0437\u0432\u0430 \u0441 \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0446\u044a\u0440\u043a\u043e\u0432\u043d\u043e\u0442\u043e \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0420\u0438\u043c\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u043d\u0430 \u0417\u0430\u043f\u0430\u0434 \u0438 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b\u0441\u043a\u0430\u0442\u0430 \u0446\u044a\u0440\u043a\u0432\u0430 \u043d\u0430 \u0418\u0437\u0442\u043e\u043a. \u0421\u044a\u0431\u0438\u0442\u0438\u044f\u0442\u0430\u2026","rel":"","context":"In &quot;Articles devoted to the Bible and about the spirit and the body&quot;","block_context":{"text":"Articles devoted to the Bible and about the spirit and the body","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/qw2qge1gpm-imcejrbliuv09vw-lm2pdjcnyrstfpg4msbjvq5ayy300dumb4g0dqgb04qse4r49kf4hgozsmknaycx-6ls4n1_6et7huoj0n4ovamyps8jiqzamtvq9qa1jdrc-ci-cw5e8oylvd1jxmveqgxdxbfu8ds4uwz8.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":2663,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/10\/%d1%81%d1%8a%d0%b1%d1%80%d0%b0%d0%bd%d0%b8-%d0%bb%d0%b8%d0%bd%d0%ba%d0%be%d0%b2%d0%b5-%d0%ba%d1%8a%d0%bc-%d0%b4%d0%be%d0%b1%d1%80%d0%b8-%d1%85%d1%80%d0%b8%d1%81%d1%82%d0%b8%d1%8f%d0%bd%d1%81%d0%ba\/","url_meta":{"origin":2308,"position":3},"title":"Collected links to good Christian Movies from the Internet","author":"vkrastev2014","date":"10.10.2026","format":false,"excerpt":"\u0421\u044a\u0431\u0440\u0430\u043d\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0435 \u043a\u044a\u043c \u0434\u043e\u0431\u0440\u0438 \u0425\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u043a\u0438 \u0424\u0438\u043b\u043c\u0438 \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0422\u0443\u043a \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043c \u0441\u043f\u0438\u0441\u044a\u043a \u0441 \u0434\u043e\u0431\u0440\u0438 \u0425\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u043a\u0438 \u0424\u0438\u043b\u043c\u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u0421\u0442\u0430\u0442\u0438\u044f\u0442\u0430 \u0449\u0435 \u0441\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441 \u043d\u043e\u0432\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0435, \u043d\u0435 \u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u044f. \u0418\u043c\u0430 \u0438 \u0444\u0438\u043b\u043c\u0438 \u0441 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 \u043f\u0440\u0435\u0432\u043e\u0434 \u0438 \u0441 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438 \u043d\u043e \u043d\u044f\u043a\u043e\u0438 \u0441\u0430 \u0441\u0430\u043c\u043e \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438 \u0435\u0437\u0438\u043a. \u041f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0442\u0435\u0437\u0438\u2026","rel":"","context":"In &quot;Articles devoted to the Bible and about the spirit and the body&quot;","block_context":{"text":"Articles devoted to the Bible and about the spirit and the body","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/films-about-bible-and-jesus.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2532,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/02\/%d0%b2%d1%82%d0%be%d1%80%d0%b8%d1%8f%d1%82-%d0%b2%d1%81%d0%b5%d0%bb%d0%b5%d0%bd%d1%81%d0%ba%d0%b8-%d1%81%d1%8a%d0%b1%d0%be%d1%80-%d0%b2-%d0%ba%d0%be%d0%bd%d1%81%d1%82%d0%b0%d0%bd%d1%82%d0%b8%d0%bd\/","url_meta":{"origin":2308,"position":4},"title":"The second ecumenical council in Constantinople (381) - the confirmation of the doctrine of the Holy Spirit","author":"vkrastev2014","date":"02.10.2026","format":false,"excerpt":"\u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440 \u0432 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b (381 \u0433.) \u2013 \u0443\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0443\u0447\u0435\u043d\u0438\u0435\u0442\u043e \u0437\u0430 \u0421\u0432\u0435\u0442\u0438\u044f \u0414\u0443\u0445 \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e\u0442\u043e \u2022 \u0412\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440\u0438 \u2022 IV \u0432\u0435\u043a \u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0438 \u0441\u044a\u0431\u043e\u0440, \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d \u043f\u0440\u0435\u0437 381 \u0433. \u0432 \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438\u043d\u043e\u043f\u043e\u043b, \u0435 \u0435\u0434\u043d\u043e \u043e\u0442 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0440\u0430\u043d\u043d\u043e\u0442\u043e \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u0442\u0432\u043e. \u041d\u0430 \u043d\u0435\u0433\u043e \u0435 \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0430 \u041d\u0438\u043a\u0435\u0439\u0441\u043a\u0430\u0442\u0430 \u0432\u044f\u0440\u0430 \u043e\u0442 325\u2026","rel":"","context":"In &quot;Articles devoted to the Bible and about the spirit and the body&quot;","block_context":{"text":"Articles devoted to the Bible and about the spirit and the body","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/ebtppy-v5hhqxqbousaxhde8pmrm8ky9vg5zhq_i42gf-itvech_wr25ui-u_ruov2gkqenknbbx2y7ekwwxzt8559wmlq424iif_pbcon6riek_ttdbxwp75aulyh3_naxhvg_pukcmdvjs88b30esv3xgtigs1gsziujd02gs.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":297,"url":"https:\/\/vkrastev1blog.com\/2024\/05\/15\/artifitial-eye\/","url_meta":{"origin":2308,"position":5},"title":"The artificial eye - how far science has reached in 2026","author":"vkrastev2014","date":"15.05.2024","format":false,"excerpt":"\u0418\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u043e\u0442\u043e \u043e\u043a\u043e \u2013 \u0434\u043e\u043a\u044a\u0434\u0435 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u043b\u0430 \u043d\u0430\u0443\u043a\u0430\u0442\u0430 \u043f\u0440\u0435\u0437 2026 \u0433\u043e\u0434\u0438\u043d\u0430 \u041e\u0442 \u0440\u0435\u0442\u0438\u043d\u0430\u043b\u043d\u0438 \u0438\u043c\u043f\u043b\u0430\u043d\u0442\u0438 \u0434\u043e \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u0430 \u0440\u0435\u0442\u0438\u043d\u0430 \u0438 \u0442\u0440\u0430\u043d\u0441\u043f\u043b\u0430\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0446\u044f\u043b\u043e \u043e\u043a\u043e \u0418\u0434\u0435\u044f\u0442\u0430 \u0437\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u043e \u043e\u043a\u043e, \u043a\u043e\u0435\u0442\u043e \u0434\u0430 \u0437\u0430\u043c\u0435\u043d\u0438 \u043d\u0430\u043f\u044a\u043b\u043d\u043e \u0447\u043e\u0432\u0435\u0448\u043a\u043e\u0442\u043e \u043e\u043a\u043e \u0438 \u0434\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u0437\u0440\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0441\u043b\u0435\u043f\u0438 \u0445\u043e\u0440\u0430, \u0434\u044a\u043b\u0433\u043e \u0432\u0440\u0435\u043c\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0435\u0448\u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u043d\u043e \u043d\u0430 \u043d\u0430\u0443\u0447\u043d\u0430\u0442\u0430 \u0444\u0430\u043d\u0442\u0430\u0441\u0442\u0438\u043a\u0430. \u041f\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0434\u0435\u0441\u0435\u0442\u0438\u043b\u0435\u0442\u0438\u044f\u2026","rel":"","context":"In &quot;Artificial organs - how far science has come in 2026&quot;","block_context":{"text":"Artificial organs - how far science has come in 2026","link":"https:\/\/vkrastev1blog.com\/category\/artificial-organs-how-far-science-has-come-in-2026\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2024\/05\/d0bed0bad0be.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/users\/65283547"}],"replies":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/comments?post=2308"}],"version-history":[{"count":6,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions"}],"predecessor-version":[{"id":2314,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions\/2314"}],"wp:attachment":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/media?parent=2308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/categories?post=2308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/tags?post=2308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}