ویرگول
ورودثبت نام
یاسمین قائدی نیا
یاسمین قائدی نیاعلاقه مند به دنیایی هوشمند تر :)
یاسمین قائدی نیا
یاسمین قائدی نیا
خواندن ۲ دقیقه·۱ ماه پیش

کلمات کلیدی برای BackEnd developer ها :)

زمان یادگیری یا قرار گرفتن توی جامعه ی دولوپر ها و زمان مصاحبه ممکنه یک سری کلمات به گوشتون بخوره که جدید باشن و حتی مفهومشون خیلی عمیق تر از معنی خود اون کلمه باشه.
اینجا سعی کردم براتون کلمات کلیدی مربوط به حوزه ی بک اند رو بیارم که توی مصاحبه هم خیلی به کارتون میاد و مباحث مهمی هستن.

میتونید درموردشون سرچ کنید و یاد بگیرید.
من تلاش کردم تا توی دسته بندی های جدا گانه قرارشون بدم تا براتون راحت تر باشه :)

۱. زبان‌ها و فریم‌ورک‌های اصلی (Languages & Frameworks)

  • زبان‌ها: Python

  • فریم‌ورک‌ها: Django, FastAPI, Flask, Pyramid

  • ORMها: Django ORM, SQLAlchemy

۲. پایگاه داده‌ها و مدیریت داده (Databases & Data Management)

  • SQL: PostgreSQL, MySQL, SQLite

  • NoSQL: MongoDB, Graph Databases

  • مفاهیم: ORM, Database Migration, Data Migration, ORM Queries, Data Validation, Data Serialization

  • ACID Transactions, Indexing Strategies, Database Normalization

  • Redis (به عنوان دیتابیس)

  • Elasticsearch (برای جستجوی متن)

۳. معماری و طراحی سیستم (System Architecture)

  • الگوها: Microservices, REST API, RESTful Services, GraphQL, API-first Development

  • ارتباطات: Middleware, URL Routing, WebSockets, HTTP/HTTPS

  • Event-Driven Architecture, Message Queues (RabbitMQ), Serverless Functions,

  • Design Patterns (Repository, Factory, etc.)

  • Domain-Driven Design (DDD)

۴. احراز هویت و امنیت (Authentication & Security)

  • امنیت: Authentication, Authorization, JWT, OAuth, SSL Certificates, CORS, API Rate Limiting

  • OWASP Top 10, CSRF Protection, Password Hashing (Bcrypt/Argon2), Role-Based Access Control (RBAC)

۵. مدیریت سرور و استقرار (Deployment & Infrastructure)

  • وب‌سرورها و اینترفیس‌ها: Nginx, Gunicorn, WSGI, ASGI

  • کانتینر و کلاود: Docker, AWS, Google Cloud Platform, Azure, Heroku, Beanstalk

  • مفاهیم: Deployment, Load Balancing, Environments (Dev, Test, Production)

  • Kubernetes (K8s)

  • Infrastructure as Code (Terraform)

  • CI/CD Pipelines

  • Reverse Proxying

۶. مدیریت وظایف و صف‌ها (Task Queues & Caching)

  • ابزارها: Celery, Redis

  • مفاهیم: Caching

  • Task Scheduling, Distributed Locking

  • Caching Strategies (Write-through, Cache-aside)

۷. تست، کیفیت و مانیتورینگ (Testing & Monitoring)

  • تست: Unit Testing, TDD

  • مانیتورینگ: Logging, Monitoring, Sentry, Prometheus, Grafana

  • Integration Testing, Load Testing (Locust/JMeter), Distributed Tracing

۸. ابزارها و فرآیندها (Tooling & Best Practices)

  • مدیریت وابستگی: Pipenv, Virtualenv, Poetry

  • توسعه: Version Control (Git), CLI, Agile Development, Scrum, Kanban

  • مستندات: API Documentation, Swagger, Postman

  • Linters & Formatters (Black, Flake8), Pre-commit Hooks, Logging Best Practices (Structured Logging)


این موارد برای حرفه ای تر شدنتون کاربردیه اما اضافی هستش و سرچ کردن درموردشون برای مبتدی ها الزامی نیست :) :

  1. Distributed Systems (سیستم‌های توزیع شده):

    فهمیدن مباحثی مثل CAP Theorem (ثبات، در دسترس بودن و تحمل خطای شبکه) برای مقیاس‌پذیری سیستم‌ها حیاتی هستش.

  2. Concurrency & Parallelism:

    در پایتون، مفاهیم AsyncIO و Threading / Multiprocessing برای بهینه‌سازی کدهای بک‌اند خیلی مهم هستن.

  3. API Versioning:

    گرچه بهش بالاتر اشاره کردم، اما یادگیری متدهای مختلفِ ورژن‌دهی (URL-based, Header-based) و استراتژی‌های Deprecation خیلی به کیفیت API شما کمک می‌کنه.

  4. Security Best Practices:

    جدا از مواردی که بالاتر گفتم، مطالعه API Security (مثل جلوگیری از SQL Injection و نوشتن کدهای امن) یکی از ستون‌های اصلی بک‌اند هستش و از نظر من یادگیری این یکی الزامیه :)


    شاید در اینده درمورد نوشتن کد های امن یک پست بنویسم، اگه دوسدارین بگید که در الویت قرارش بدم :)💕

best practicesback endbackend
۹
۰
یاسمین قائدی نیا
یاسمین قائدی نیا
علاقه مند به دنیایی هوشمند تر :)
شاید از این پست‌ها خوشتان بیاید