List Deduplication Techniques
Naive Iteration Method
original_data = [7, 2, 8, 2, 7, 5]
unique_results = []
for element in original_data:
if element not in unique_results:
unique_results.append(element)
Set Conversion Approach
distinct_set = set([4, 4, 9, 2, 9])
unique_list = list(distinct_set)
List Comprehension with Enumerate
def deduplicate(items):
return [val for idx, val in enumerate(items)
if val not in items[:idx]]
Ordered Dictionary Method
from collections import OrderedDict
duplicated = [3, 3, 1, 4, 1]
result = list(OrderedDict.fromkeys(duplicated))
Python Object Type Identification
print(type(42)) # Output: <class 'int'>
print(isinstance([], list)) # Output: True
print("text".__class__) # Output: <class 'str'>
Regular Expression Greedy vs Lazy Matching
import re
html_content = "<div><span>Content</span></div>"
# Greedy match
print(re.findall(r'<.*>', html_content))
# Output: ['<div><span>Content</span></div>']
# Lazy match
print(re.findall(r'<.*?>', html_content))
# Output: ['<div>', '<span>', '</span>', '</div>']
PEP8 Coding Standards
- Four-space indentation
- 79-character line limits
- snake_case for variables/functions
- CamelCase for class names
- Space around operators
Django Architecture Patterns
MTV Components
- Model: Data layer with ORM
- Template: Presentation layer (HTML)
- View: Business logic handler
QuerySet Operations
from django.db.models import F, Q
# F: Reference field values in queries
Product.objects.update(price=F('price') * 1.1)
# Q: Complex query conditions
User.objects.filter(Q(age__gt=30) | Q(is_staff=True))
RESTful API Principles
- Resource-based URI design
- HTTP methods: GET/POST/PUT/DELETE
- Stateless interactions
- HATEOAS linking
Django REST Framework Features
- Serializer transformations
- Viewsets for CRUD operations
- Token authentication
- Browsable API interface
Database Technologies
Redis Use Cases
- Caching layer acceleration
- Session storage
- Distributed locking
- Rate limiting
- Leaderboard implementation
MySQL Architecture
- Connection layer: Session handling
- Service layer: Query parsing/optimization
- Engine layer: InnoDB/MyISAM handlers
- Storage layer: Filesystem persistence
InnoDB vs MyISAM
- InnoDB: ACID transactions, row-level locking
- MyISAM: Table-level locking, faster reads
Concurrency Patterns
Python Async IO
import asyncio
async def fetch_data():
await asyncio.sleep(1)
return "Processed"
async def main():
result = await fetch_data()
print(result)
asyncio.run(main())
Java Thread Pools
ExecutorService pool = Executors.newFixedThreadPool(4);
pool.submit(() -> System.out.println("Task executed"));
pool.shutdown();
Web Security Practices
Duplicate Form Submision Prevention
- Backend: Token validation mechanisms
- Frontend: Button disabling during processing
- Database: Unique constraint enforcement
Redis Cache Strategies
- Cache penetration: Null caching and Bloom filters
- Cache avalanche: Expiration time randomization
- Cache breakdown: Hotkey replicasion and mutex locks
Network Protocols
HTTP Version Evolution
- HTTP/1.1: Persistent connections
- HTTP/2: Binary framing and multiplexing
- HTTP/3: QUIC protocol with UDP transport
RPC vs HTTP
- RPC: Service contract definitions, direct method invocation
- HTTP: Resource-oriented interactions, uniform interface
Django Middleware Components
- SecurityMiddleware: HTTP header protection
- SessionMiddleware: User session management
- CsrfViewMiddleware: Cross-site request forgery prevention
- AuthenticationMiddleware: User credential handling
Python Language Concepts
Memory Management
- Reference counting
- Generational garbage collection
- Cycle detection
Execution Contexts
def outer():
closure_var = 10
def inner():
return closure_var + 5
return inner
func = outer()
print(func()) # Output: 15