1. Can you explain the difference between functional and object-oriented programming?
Answer: Functional programming is a paradigm where programs are structured around functions, and state changes are avoided. Object-oriented programming, on the other hand, is based on objects with properties and methods. In OOP, state and behavior are encapsulated within objects.
2. What is the difference between abstract class and interface in Java?
Answer: An abstract class can have both abstract and concrete methods, and it allows constructors. Interfaces can only have abstract methods, and all methods are implicitly public and abstract. A class can implement multiple interfaces but inherit from only one class.
3. Explain the concept of database normalization.
Answer: Database normalization is the process of organizing a database to reduce data redundancy and improve data integrity. It involves breaking large tables into smaller ones and defining relationships between them. Normal forms, such as 1NF, 2NF, and 3NF, are used to eliminate data anomalies.
4. What is the purpose of the HTTP "GET" and "POST" methods?
Answer: The HTTP "GET" method is used to request data from a server, while the "POST" method is used to send data to be processed by the server. "GET" requests are typically used for retrieving data, and "POST" requests are used for actions like form submissions.
5. What is the role of a primary key in a database table?
Answer: A primary key uniquely identifies each record in a database table. It ensures data integrity by preventing duplicate or null values. It is used to create relationships between tables and for efficient data retrieval.
6. Can you explain the concept of a foreign key in a database?
Answer: A foreign key is a field that establishes a link between two tables in a relational database. It enforces referential integrity by ensuring that values in one table's foreign key column match values in another table's primary key column.
7. What is the difference between a "GET" request and a "POST" request in web development?
Answer: A "GET" request is used to retrieve data from a server and appends data to the URL. It is not suitable for sensitive or large data. A "POST" request is used to send data to a server, often in the request body, and is suitable for sensitive or larger data.
8. Explain the purpose of the Java Virtual Machine (JVM).
Answer: JVM is an integral part of Java. It interprets Java bytecode and executes it on the host machine. It provides platform independence by allowing Java programs to run on any system with a compatible JVM.
9. What is the significance of the "static" keyword in Java?
Answer: The "static" keyword is used to declare a class-level variable or method that belongs to the class rather than a specific instance. It is accessible without creating an instance of the class.
10. Can you describe the differences between agile and waterfall software development methodologies?
Answer: Agile is iterative and flexible, allowing for continuous feedback and adaptation. Waterfall is a linear approach with fixed phases. Agile is best for projects with changing requirements, while waterfall is suited for well-defined projects with stable requirements.
These questions cover a range of technical topics and concepts commonly discussed in technical interviews. Preparing for these questions can help you demonstrate your knowledge and problem-solving skills during the interview.