Есть ли проекты на GitHub?

«Есть ли проекты на GitHub?» — вопрос из категории Софт-скиллы, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Да, у меня есть несколько проектов на GitHub. Это в основном пет-проекты, которые я создавал для изучения новых технологий или решения конкретных задач.

Примеры проектов:

  • Микросервис для обработки изображений на Go, который интегрируется с S3-хранилищем и предоставляет REST API для ресайза и наложения водяных знаков.
  • CLI-утилита на Python для парсинга логов Nginx и генерации отчетов по трафику.
  • Веб-приложение-дашборд на React и Node.js для визуализации метрик из Prometheus.

Пример кода из CLI-утилиты (парсер логов):

import re
from collections import defaultdict
from datetime import datetime

class NginxLogParser:
    LOG_FORMAT = r'(S+) - - [(.+?)] "(S+) (S+) S+" (d+) (d+)'

    def __init__(self, log_path):
        self.log_path = log_path
        self.requests_by_ip = defaultdict(int)
        self.status_codes = defaultdict(int)

    def parse(self):
        with open(self.log_path, 'r') as f:
            for line in f:
                match = re.match(self.LOG_FORMAT, line)
                if match:
                    ip, timestamp, method, url, status, size = match.groups()
                    self.requests_by_ip[ip] += 1
                    self.status_codes[status] += 1
        return self._generate_report()

    def _generate_report(self):
        return {
            'top_ips': dict(sorted(self.requests_by_ip.items(), key=lambda x: x[1], reverse=True)[:5]),
            'status_distribution': dict(self.status_codes)
        }

Ссылку на профиль могу предоставить.