Interview Preparation Notes - Data Science & Software Concepts
1. OOPs Concepts (Object-Oriented Programming)
OOPs is a programming paradigm based on the concept of "objects".
Key Concepts:
- Class: Blueprint of an object
- Object: Instance of a class
- Encapsulation: Hiding data
- Inheritance: One class inherits another
- Polymorphism: Same function behaves differently
- Abstraction: Hiding complex logic
2. SQL Basics
SQL (Structured Query Language) is used for managing databases.
Important Commands:
- SELECT: Retrieve data
- INSERT: Add data
- UPDATE: Modify data
- DELETE: Remove data
- JOINs: Combine rows from multiple tables
3. Python
Python is a high-level, interpreted programming language used widely in data science.
Features:
- Simple syntax
- Large libraries (pandas, NumPy, scikit-learn)
- Used in ML, automation, web development
4. Java
Java is an object-oriented language used for secure and scalable applications.
- Platform-independent
- Used in backend, Android apps
5. NoSQL
NoSQL is used for unstructured or semi-structured data.
Examples: MongoDB, Redis, Cassandra
Use: Big data, high scalability
6. SDLC (Software Development Life Cycle)
Phases:
1. Requirement Gathering
2. System Design
3. Implementation (Coding)
4. Testing
5. Deployment
6. Maintenance
7. Common SQL Interview Questions
Q: Difference between WHERE and HAVING?
A: WHERE filters before aggregation, HAVING after aggregation.
Q: Query to get top 5 highest salaries:
SELECT * FROM employees ORDER BY salary DESC LIMIT 5;
Q: What is a primary key?
A: Uniquely identifies each record. Cannot be NULL or duplicate.
Q: Difference between INNER JOIN and LEFT JOIN?
A: INNER JOIN returns only matching rows, LEFT JOIN includes unmatched rows from left table.
8. Software Concepts
- API: Interface between software systems (e.g., REST API)
- IDE: Code editor like VS Code, PyCharm
- Git: Version control (git push, commit)
- JSON: Data exchange format (used in APIs)