Comprehensive collection of technical interview questions covering PHP fundamentals, Laravel framework concepts, API design, database systems, and Git version control - essential knowledge for modern web developers.
This comprehensive collection of technical interview questions covers essential topics for PHP and Laravel developers, from fundamental programming concepts to advanced framework features and development workflows.
PHP IQ - Part 01
Core PHP Concepts
Method Overloading & Overriding
- Method overloading: PHP doesn't support traditional overloading but uses magic methods like
__call() - Method overriding: Child classes redefine parent class methods
- Used for polymorphism and extending functionality
Traits
- Code reuse mechanism in PHP
- Allows horizontal code sharing across unrelated classes
- Prevents multiple inheritance issues
- Used for common functionality like logging, validation
OOP Principles in PHP
- Encapsulation: Data hiding through access modifiers
- Inheritance: Class hierarchy and code reuse
- Polymorphism: Multiple forms of methods
- Abstraction: Interface definition without implementation
Abstract, Interface, Trait, Namespace
- Abstract classes: Base classes with incomplete implementation
- Interfaces: Contract definition for classes
- Traits: Horizontal code reuse
- Namespaces: Code organization and conflict prevention
Require vs Include
require: Fatal error if file not foundinclude: Warning if file not foundrequire_once/include_once: Prevents multiple inclusions
Multiple vs Multilevel Inheritance
- Multiple inheritance: Class inherits from multiple parents (not supported in PHP)
- Multilevel inheritance: Chain of inheritance (A → B → C)
Laravel IQ - Level 1 - Part 1
Framework Fundamentals
Laravel Framework
- PHP MVC framework for web applications
- Built-in features: routing, authentication, caching, queues
- Expressive syntax and developer-friendly tools
Middleware
- HTTP request filtering mechanism
- Runs before/after request reaches controller
- Used for authentication, CORS, logging, rate limiting
Eloquent ORM
- Active Record implementation
- Database table as classes, rows as objects
- Relationships, query building, model events
CSRF Token
- Cross-Site Request Forgery protection
- Token validation for state-changing requests
- Prevents unauthorized form submissions
Events & Listeners
- Observer pattern implementation
- Decoupled event handling
- Used for logging, notifications, data processing
Dependency Injection
- Service container manages class dependencies
- Automatic injection through constructor or method
- Promotes loose coupling and testability
Queues
- Background job processing
- Asynchronous task execution
- Improves response time and user experience
Service Provider
- Service container bootstrapping
- Package registration and configuration
- Application service registration
Blade Template Engine
- Laravel's templating engine
- Clean syntax with control structures
- Template inheritance and sections
API Route Creation
- Route definition with HTTP methods
- Resource controllers for CRUD operations
- Middleware for authentication and rate limiting
Laravel IQ - Level 1 - Part 2
Advanced Laravel Concepts
MVC Architecture
- Model: Data and business logic
- View: Presentation layer
- Controller: Request handling and response
- Laravel's implementation of MVC pattern
Routing
- URL to controller mapping
- Route parameters and constraints
- Named routes and middleware
Artisan Commands
- CLI tool for Laravel
- Code generation, database migrations, testing
- Custom command creation
Facade
- Static interface to underlying classes
- Service container access
- Clean syntax for complex operations
Service Container
- Dependency injection container
- Service binding and resolution
- Application service management
Validation
- Request data validation
- Form request classes
- Custom validation rules
Blade @yield and @section
- Template inheritance
- Content sections definition
- Layout composition
Soft Delete
- Logical deletion without data loss
deleted_attimestamp column- Query scope for excluding deleted records
Cookie vs Session
- Cookie: Client-side storage
- Session: Server-side storage with client reference
- Security and persistence differences
Accessor & Mutator
- Model attribute transformation
getFooAttribute()andsetFooAttribute()- Data formatting and validation
Policy & Gate
- Authorization mechanisms
- Policy: Class-based authorization
- Gate: Closure-based authorization
- Resource-based permissions
Job & Queue
- Job: Unit of work
- Queue: Job storage and processing
- Background processing for heavy tasks
Repository Pattern
- Data access abstraction
- Business logic separation
- Testability and maintainability
Pivot Table
- Many-to-many relationship table
- Additional attributes on relationships
- Intermediate table management
Observers
- Model event handling
- Centralized event logic
- Multiple model event management
Resource Controllers
- RESTful controller methods
- Standard CRUD operations
- Resource route generation
HTTP Middleware Creation
- Custom middleware implementation
- Request/response modification
- Application-specific filtering
Aggregates Functions
- Database aggregation:
count(),max(),min(),avg() - Query optimization
- Data summarization
API Authentication
- Passport: OAuth2 server
- Sanctum: API token authentication
- Token-based authentication methods
Laravel Mix
- Asset compilation and versioning
- Webpack integration
- CSS/JS preprocessing
Caching
- Data storage for performance
- Multiple cache drivers
- Cache invalidation strategies
File Storage System
- Local and cloud storage
- Flysystem integration
- File upload and management
Event Broadcasting
- Real-time event delivery
- WebSocket integration
- Client-side event handling
Rate Limiting
- Request frequency control
- User and IP-based limits
- API protection mechanism
Seeder & Factory
- Database seeding
- Test data generation
- Model factory creation
Relationship Methods
hasOne,belongsTo,hasMany,belongsToMany- Relationship definition and usage
- Eager loading optimization
Form Request Validation
- Dedicated validation classes
- Authorization and validation
- Clean controller methods
Job Batching
- Multiple job grouping
- Batch processing and monitoring
- Job dependency management
Shallow vs Deep Copy
- Shallow copy: Reference copying
- Deep copy: Complete object duplication
- Memory and performance implications
Laravel IQ - Level 1 - Part 3
Advanced Laravel Topics
Service Provider Dependency Injection
- Service container binding
- Constructor injection
- Interface to implementation mapping
Multitenancy Implementation
- Multi-tenant architecture
- Database isolation strategies
- Tenant-specific data handling
Laravel Telescope
- Application debugging assistant
- Request, database, and cache monitoring
- Development tool for performance analysis
Laravel Horizon
- Queue monitoring dashboard
- Redis queue management
- Job monitoring and metrics
Custom Blade Directive
- Directive creation
- Template extension
- Custom syntax implementation
Redis Cache Usage
- High-performance caching
- Data structure operations
- Session and cache storage
Scout & Algolia Search
- Full-text search implementation
- Third-party search service integration
- Search optimization
Advanced Security Middleware
- Custom security implementations
- Request validation and filtering
- Application protection mechanisms
Chunking
- Large dataset processing
- Memory-efficient operations
- Batch data handling
Data Encryption
- Data security implementation
- Encryption and decryption
- Secure data storage
Laravel Dusk
- Browser automation testing
- End-to-end testing
- User interaction simulation
Dynamic Rate Limiting
- Flexible rate limiting strategies
- User-specific limits
- Adaptive rate control
Lazy vs Eager Loading
- Performance optimization
- Query execution differences
- N+1 query problem solution
Custom Exception Handling
- Exception handling customization
- Error response formatting
- Application-specific error management
Package Development
- Package creation and distribution
- Service provider registration
- Package configuration
Multi-Authentication
- Multiple user types
- Different authentication guards
- Role-based access control
Database Transactions
- Atomic operations
- Rollback and commit
- Data consistency management
Livewire
- Dynamic interfaces without JavaScript
- Server-side rendering
- Real-time updates
API Versioning
- API evolution management
- Version-specific endpoints
- Backward compatibility
Cache Invalidation
- Cache update strategies
- Data consistency
- Performance optimization
cURL Implementation
- HTTP client usage
- API communication
- External service integration
Database Transactions
db::transaction,commit,rollback- Transaction management
- Error handling and recovery
Service Provider vs Service Container
- Service provider: Service registration
- Service container: Service resolution
- Application service management
REST vs RESTful API
- REST: Architectural style
- RESTful: REST principle implementation
- API design patterns
REST Principles & Best Practices
- Stateless communication
- Cacheable responses
- Uniform interface
Laravel Lifecycle
- Application bootstrapping
- Request lifecycle
- Service container initialization
Fillable & Guard
- Mass assignment protection
- Attribute whitelisting/blacklisting
- Security implementation
Laravel IQ - Level 1 - Part 4
BST & Advanced Topics
Solid Principle in PHP
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
Load Balancer
- Traffic distribution
- High availability
- Performance optimization
Multiple Inheritance Support
- PHP doesn't support multiple inheritance
- Traits as alternative
- Interface implementation
Mixins vs Composer
- Mixins: Code sharing
- Composer: Dependency management
- Package management differences
HTTP vs HTTPS
- HTTP: Unencrypted communication
- HTTPS: Encrypted communication
- Security and trust differences
Redis Usage
- In-memory data structure store
- Caching and session storage
- Real-time data processing
Stateful vs Stateless
- Stateful: Session-based
- Stateless: Token-based
- Scalability implications
JavaScript Prototype & Closure
- Prototype: Object inheritance
- Closure: Function scope preservation
- Memory management
AJAX Steps
- XMLHttpRequest creation
- Request configuration
- Response handling
- Error management
Database Indexing
- Performance optimization
- Query speed improvement
- Storage overhead
Cross-Site Scripting & Docker
- XSS: Security vulnerability
- Docker: Containerization
- Development and deployment
Algorithm for 3 Million Products
- Database indexing strategies
- Query optimization
- Search algorithm selection
CSRF Token Generation
- Token creation and validation
- Session storage
- Security implementation
SMS Campaign for 10 Million Users
- Queue-based processing
- Rate limiting
- Error handling and retry
Laravel IQ - Level 1 - Part 5
Performance & Architecture
Real-time Menu Updates
- Cache invalidation
- WebSocket notifications
- Client-side updates
Redis Configuration
- Shared hosting vs VPS vs AWS
- Environment configuration
- Production setup
Data Display Strategies
- Chunking vs AJAX loading
- Memory management
- Performance optimization
Facebook-style Infinite Scroll
- AJAX-based loading
- Scroll event handling
- Performance considerations
SaaS System for 1 Million Users
- Scalability architecture
- Database optimization
- Performance monitoring
Database Join Performance
- Query optimization
- Index usage
- O(log n) complexity
Multi-database Joins
- Cross-database queries
- Microservices integration
- Data consistency
Rate Limiting Data
- User-specific limits
- IP-based restrictions
- Adaptive rate control
Middleware Priority
- Execution order definition
- Route-specific middleware
- Global middleware
Sanctum Token Storage
- Database storage
- Security considerations
- Token management
Session Types
- File-based sessions
- Database sessions
- Redis sessions
Database Query Optimization
- Query analysis
- Index optimization
- Performance improvement
API Design for Millions of Requests
- Load balancing
- Caching strategies
- Database optimization
API Postman vs Browser Issues
- CORS configuration
- Headers and authentication
- Environment differences
Microservices Performance
- Network overhead
- Service communication
- Performance trade-offs
Laravel VPS Deployment
- Server configuration
- Environment setup
- Security implementation
URL Request Flow
- Browser request process
- DNS resolution
- Server response
503 Server Error
- Server overload
- Maintenance mode
- Recovery strategies
JWT Payload
- Public vs private claims
- Token structure
- Security considerations
Default Service Providers
- Laravel core services
- Package registration
- Application bootstrapping
REST API Usage
- Architectural benefits
- Standardization
- Client-server communication
Laravel Batch
- Job grouping
- Batch processing
- Monitoring and management
TDD in Laravel
- Test-driven development
- Unit and feature tests
- Development workflow
SOLID Principle Implementation
- Single responsibility
- Open/closed principle
- Dependency injection
Laravel IQ - Part-01
PHP & Laravel Fundamentals
GET vs POST
- GET: Data in URL, cacheable
- POST: Data in body, secure
- Use case differences
Route Model Binding
- Automatic model resolution
- Route parameter binding
- Clean controller methods
Polymorphic Relationship
- Multiple model relationships
- Single interface
- Flexible data modeling
Middleware Priority
- Execution order
- Route-specific middleware
- Global middleware
Eager vs Lazy Loading
- Performance optimization
- Query execution
- N+1 problem solution
with() vs load()
- Eager loading differences
- Relationship loading
- Performance implications
Pagination
- Data set division
- Page navigation
- Performance optimization
Laravel Reverb & Echo
Real-time Communication
WebSocket
- Persistent connection
- Real-time communication
- HTTP alternative
Laravel Reverb
- WebSocket server
- Pusher alternative
- Real-time features
Laravel Echo
- Client-side WebSocket
- Event handling
- Real-time updates
Channel Types
- Public, private, presence
- Authentication requirements
- Use case differences
ShouldBroadcast Interface
- Event broadcasting
- Queue integration
- Real-time delivery
broadcast() vs event()
- Direct vs queued broadcasting
- Performance implications
- Use case differences
SerializesModels Trait
- Model serialization
- Queue job handling
- Memory optimization
Queue for Broadcasting
- Background processing
- Performance improvement
- Real-time delivery
Private Channel Authentication
- User authentication
- Channel authorization
- Security implementation
broadcastOn() vs broadcastWith() vs broadcastAs()
- Channel definition
- Data broadcasting
- Event naming
.toOthers()
- Event exclusion
- Client-specific delivery
- Real-time updates
Redis Queue
- Queue storage
- Job processing
- Performance optimization
Ajax Double Call Issue
- Event handling
- Request prevention
- Performance improvement
Supervisor
- Process management
- Queue worker management
- Production reliability
ShouldBroadcastNow vs ShouldBroadcast
- Immediate vs queued broadcasting
- Performance implications
- Use case differences
Unread Message Count
- Real-time updates
- Database synchronization
- Client-side display
.env Reverb Config
- Environment configuration
- WebSocket server setup
- Production deployment
Nginx Reverb Proxy
- WebSocket proxy
- Load balancing
- Security implementation
Real-time Order Status
- Event broadcasting
- Database updates
- Client-side display
Production Checks
- Performance monitoring
- Security validation
- Error handling
Reverb Network
- WebSocket network
- HTTP vs WebSocket
- Real-time communication
whisper & listenForWhisper
- Private communication
- Client-server messaging
- Real-time updates
WebSocket in PHP
- Server implementation
- Client connection
- Real-time communication
API IQ - Level 1 - Part 1
API Fundamentals
API Definition
- Application Programming Interface
- Software communication
- Data exchange
REST API
- Representational State Transfer
- Architectural style
- HTTP-based communication
REST vs SOAP API
- REST: Lightweight, flexible
- SOAP: Standardized, secure
- Use case differences
HTTP Methods
- GET, POST, PUT, DELETE
- Resource operations
- RESTful principles
Laravel API Requirements
- Route definition
- Controller creation
- Response formatting
Laravel Sanctum
- API token authentication
- SPA authentication
- Mobile app authentication
API Rate Limiting
- Request frequency control
- User-based limits
- Security implementation
Laravel API Resource
- Response formatting
- Data transformation
- API consistency
JWT (JSON Web Token)
- Token-based authentication
- Stateless communication
- Security implementation
CORS (Cross-Origin Resource Sharing)
- Cross-domain requests
- Security headers
- Browser compatibility
CSRF (Cross-Site Request Forgery)
- Security vulnerability
- Protection mechanisms
- Token validation
Laravel API Testing Tools
- Postman
- PHPUnit
- Automated testing
PHPUnit Test Example
- Test case creation
- API endpoint testing
- Response validation
HTTP Status Codes
- Response codes
- Client/server errors
- Success responses
Status Code Categories
- 1xx: Informational
- 2xx: Success
- 3xx: Redirection
- 4xx: Client Error
- 5xx: Server Error
Common API Status Codes
- 200: OK
- 201: Created
- 400: Bad Request
- 401: Unauthorized
- 404: Not Found
- 500: Internal Server Error
REST vs GraphQL
- REST: Multiple endpoints
- GraphQL: Single endpoint
- Query flexibility
API Versioning
- Version management
- Backward compatibility
- API evolution
JWT Working
- Token creation
- Payload encoding
- Verification process
OAuth 2.0
- Authorization framework
- Token-based access
- Security implementation
Laravel API Response Caching
- Cache storage
- Response optimization
- Performance improvement
Laravel API Security
- Authentication
- Authorization
- Input validation
Laravel API Authentication Methods
- Token-based
- OAuth
- Session-based
Laravel Sanctum Working
- Token generation
- Authentication process
- Security implementation
Laravel API Performance
- Caching strategies
- Database optimization
- Code efficiency
Laravel API HATEOAS
- Hypermedia as the Engine of Application State
- API discoverability
- Client-server communication
Laravel API WebSocket
- Real-time communication
- Event broadcasting
- Client-server updates
Database - Level 1 - Part 1
Database Fundamentals
SQL Definition
- Structured Query Language
- Database management
- Data manipulation
SELECT, INSERT, UPDATE, DELETE
- Data retrieval
- Data insertion
- Data modification
- Data deletion
WHERE vs HAVING
- WHERE: Row filtering
- HAVING: Group filtering
- Query optimization
GROUP BY Usage
- Data aggregation
- Group operations
- Query organization
Index Definition
- Performance optimization
- Query speed improvement
- Storage overhead
Normalization
- Data organization
- Redundancy elimination
- Database design
1NF, 2NF, 3NF
- First Normal Form
- Second Normal Form
- Third Normal Form
- Database design principles
Primary vs Unique Key
- Primary: Table identifier
- Unique: Unique constraint
- Nullability differences
Foreign Key
- Table relationship
- Referential integrity
- Data consistency
ACID Properties
- Atomicity
- Consistency
- Isolation
- Durability
- Transaction management
SQL JOIN
- Table combination
- Relationship queries
- Data retrieval
INNER JOIN
- Matching rows only
- Common data
- Query optimization
LEFT vs RIGHT JOIN
- LEFT: All left table rows
- RIGHT: All right table rows
- Data inclusion differences
FULL OUTER JOIN
- All rows from both tables
- Complete data set
- Query results
SELF JOIN
- Table self-reference
- Hierarchical data
- Query complexity
View vs Materialized View
- View: Virtual table
- Materialized: Physical table
- Performance differences
Stored Procedure vs Function
- Procedure: Multiple statements
- Function: Single return value
- Usage differences
Index Working
- B-tree structure
- Query optimization
- Performance impact
Query Optimization
- Execution plan analysis
- Index usage
- Performance improvement
Database Sharding vs Replication
- Sharding: Data distribution
- Replication: Data copying
- Scalability differences
Deadlock Handling
- Resource contention
- Prevention strategies
- Resolution methods
ORM Performance Issues
- Abstraction overhead
- Query optimization
- Performance considerations
Eager vs Lazy Loading
- Performance optimization
- Query execution
- N+1 problem solution
Transaction Isolation Levels
- Read uncommitted
- Read committed
- Repeatable read
- Serializable
- Data consistency
EXPLAIN Command
- Query execution plan
- Performance analysis
- Optimization guidance
SQL Categories
- DDL: Data Definition Language
- DML: Data Manipulation Language
- DCL: Data Control Language
- TCL: Transaction Control Language
Constraints
- Data integrity
- Rule enforcement
- Database design
GROUP BY Examples
- Data aggregation
- Query organization
- Result grouping
Query Execution Order
- Logical processing
- Performance implications
- Query optimization
SELECT Execution
- Last execution
- Query optimization
- Performance considerations
TRUNCATE vs DELETE
- TRUNCATE: Fast, no rollback
- DELETE: Slower, rollback possible
- Use case differences
DROP vs TRUNCATE
- DROP: Table removal
- TRUNCATE: Data removal
- Database impact
Git, GitHub, PR & Version Control
Version Control Fundamentals
Version Control System (VCS)
- Code history management
- Collaboration support
- Change tracking
Version Control Need
- Team collaboration
- Change history
- Code backup
Problems Without Version Control
- File overwriting
- History loss
- Collaboration issues
Centralized vs Distributed VCS
- Centralized: Single repository
- Distributed: Local copies
- Collaboration differences
Git Definition
- Distributed version control
- Open source
- Industry standard
Git vs GitHub
- Git: Version control system
- GitHub: Hosting platform
- Service differences
Git Without GitHub
- Local repositories
- Self-hosted solutions
- Alternative platforms
Repository Definition
- Code storage
- Version history
- Project management
Local vs Remote Repository
- Local: Developer machine
- Remote: Server storage
- Collaboration mechanism
Git Workflow
- Development process
- Branch management
- Code integration
git init
- Repository creation
- Version control start
- Project initialization
git clone
- Repository copying
- Remote to local
- Project setup
git status
- Working directory state
- Changes tracking
- Repository status
git add
- File staging
- Change tracking
- Commit preparation
git commit
- Change recording
- Version creation
- History maintenance
Good Commit Message
- Clear description
- Context provision
- Team communication
git log
- Commit history
- Version tracking
- Repository timeline
git diff
- Change comparison
- File differences
- Code review
git reset
- Change undoing
- Repository state
- History modification
git revert
- Change reversal
- New commit creation
- History preservation
Branch Definition
- Development line
- Feature isolation
- Code organization
Branch Need
- Parallel development
- Feature isolation
- Code stability
Default Branch
- Main development branch
- Project starting point
- Code integration
git checkout -b
- Branch creation
- Branch switching
- Development start
Merge Definition
- Branch combination
- Code integration
- Development completion
Merge Conflict
- Code contradiction
- Resolution needed
- Development process
Conflict Resolution
- Manual editing
- Code selection
- Integration completion
Fast-forward Merge
- Linear history
- Simple integration
- Branch combination
Rebase
- History rewriting
- Branch integration
- Linear development
Cherry-pick
- Specific commit selection
- Branch application
- Code transfer
Remote Repository
- Server storage
- Collaboration platform
- Code sharing
origin
- Default remote name
- Repository reference
- Connection point
git push
- Local to remote
- Code sharing
- Collaboration
git pull
- Remote to local
- Code update
- Synchronization
git fetch vs pull
- Fetch: Download only
- Pull: Download and merge
- Update differences
Fork Definition
- Repository copy
- Independent development
- Contribution mechanism
Fork Need
- Project contribution
- Independent development
- Code experimentation
Pull Request (PR)
- Code contribution
- Review process
- Integration request
PR Need
- Code review
- Quality assurance
- Collaboration
PR Workflow
- Development process
- Review cycle
- Integration steps
Code Review
- Quality assurance
- Knowledge sharing
- Code improvement
PR Merge Types
- Merge commit
- Squash merge
- Rebase merge
Squash Merge
- Multiple commits to one
- Clean history
- Integration method
Draft PR
- Work in progress
- Review preparation
- Development stage
.gitignore
- File exclusion
- Repository management
- Sensitive data protection
Laravel gitignore Files
- Environment files
- Cache directories
- Sensitive data
.env Git Exclusion
- Security protection
- Environment specificity
- Configuration management
Git Stash
- Change temporary storage
- Context switching
- Development flexibility
git stash pop
- Change restoration
- Stash removal
- Development continuation
Git Tag
- Version marking
- Release management
- Code reference
Semantic Versioning
- Version numbering
- Release management
- Compatibility indication
Git Hooks
- Event triggers
- Automation
- Development workflow
Hotfix Branch
- Critical bug fixes
- Production issues
- Quick resolution
Feature Branch
- New functionality
- Development isolation
- Code organization
Professional Git Workflow
- Team collaboration
- Code quality
- Development process
Git Slash Command
- Command efficiency
- Workflow optimization
- Development speed
Multiple User Code Merge
- Branch combination
- Conflict resolution
- Integration process

Comments
Please log in or register to join the discussion