Готовишься к интервью? Мы собрали 10 каверзных вопросов, которые любят задавать тимлиды. Здесь нет банальных задач — только те, на которых спотыкаются 80% кандидатов. Проверь себя и узнай, готов ли ты к следующему собесу!
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#режимразраба
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод чейнинг (method chaining) — техника вызова нескольких методов на одном объекте в одной строке, где каждый метод возвращает
self, позволяя обходиться без промежуточных переменных.🔹 Преимущества:
• Меньше кода — избавляет от промежуточных переменных.
• Читаемость — код выглядит как последовательность логичных операций.
• Элегантный дизайн — делает API удобным для использования.
🔹 Недостатки:
• Трудность отладки — если что-то сломается, сложно найти источник ошибки.
• Длинные цепочки — могут ухудшать читаемость, если используются чрезмерно.
• Жёсткая связь методов — изменения в классе могут затронуть всю цепочку.
🎯 Когда использовать Method Chaining:
• Трансформации данных — очистка текста, математические вычисления, работа с датафреймами.
• Формировании Fluent API — используется в pandas, jQuery и других библиотеках для удобного взаимодействия с объектами.
🏆 Лучшие практики использования:
• Возвращайте self правильно — убедитесь, что каждый метод возвращает объект, с которым ведется работа, а не новый объект.
• Читаемые цепочки — избегайте слишком длинных цепочек, которые трудно отлаживать.
• Обработка ошибок — добавьте обработку исключений, чтобы не прерывать выполнение кода в случае ошибки.
• Логичность — методы должны выполняться в последовательности, логичной для объекта.
🔹 Пример на Pandas:
import pandas as pd
df = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
result = df.rename(columns={'Name': 'Full Name'}).sort_values(by='Age').reset_index(drop=True)
print(result)
🔹Пример на Flask:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return jsonify(message="Hello, World!").status_code(200)
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#синтаксическийсахар
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Учим Python прямо на ферме: вышла игра, где грядки не копают — их программируют.
Здесь мотыгу заменяют дроны, а усталость — аккуратные скрипты. Ваша миссия — научить железных помощников работать за вас с помощью упрощённого Python и смотреть, как хозяйство автоматом превращается в мини-Силиконовую долину:
— Управление только кодом: дроны выполняют ваши инструкции строчка в строчку;
— Осваиваете основы программирования прямо по ходу игры, без скучных уроков;
— Никаких уровней — ферма эволюционирует вместе с вашими алгоритмами;
— Есть русский язык и Python IntelliSense — удобно даже из VS Code;
— В Steam — около 95% восторженных отзывов.
Вот ссылка, если хотите поиграть
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🏃♀️ Азбука айтишника
#синтаксическийсахар
Здесь мотыгу заменяют дроны, а усталость — аккуратные скрипты. Ваша миссия — научить железных помощников работать за вас с помощью упрощённого Python и смотреть, как хозяйство автоматом превращается в мини-Силиконовую долину:
— Управление только кодом: дроны выполняют ваши инструкции строчка в строчку;
— Осваиваете основы программирования прямо по ходу игры, без скучных уроков;
— Никаких уровней — ферма эволюционирует вместе с вашими алгоритмами;
— Есть русский язык и Python IntelliSense — удобно даже из VS Code;
— В Steam — около 95% восторженных отзывов.
Вот ссылка, если хотите поиграть
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#синтаксическийсахар
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🙏1
Хотите писать чистый и поддерживаемый код? Давайте разберем, чем отличаются эти три типа методов в Python.
🔹 Методы экземпляра (`self`):
✓ Работают с конкретным объектом
✓ Изменяют атрибуты экземпляра
✓ Доступ к атрибутам класса через
self.__class__ class MyClass:
def method(self):
return "Метод экземпляра", self
🔹 Методы класса (`cls`, `@classmethod`):
✓ Работают с классом в целом
✓ Могут изменять атрибуты класса
✓ Не изменяют атрибуты экземпляра
class MyClass:
@classmethod
def class_method(cls):
return "Метод класса", cls
🔹 Статические методы (`@staticmethod`):
✓ Не принимают self или cls
✓ Не изменяют состояние ни экземпляра, ни класса
✓ Используются для вспомогательных функций
class MyClass:
@staticmethod
def static_method():
return "Статический метод"
🔹 Применение в реальном коде:
class Pizza:
def __init__(self, ingredients):
self.ingredients = ingredients
@classmethod
def margherita(cls):
return cls(["моцарелла", "помидоры"])
@staticmethod
def circle_area(r):
import math
return r ** 2 * math.pi
pizza = Pizza.margherita() # Классовый метод
print(Pizza.circle_area(4)) # Статический метод
🔹 Вывод:
✓ Методы экземпляра изменяют данные конкретного объекта
✓ Методы класса работают с классом и создают альтернативные конструкторы
✓ Статические методы полезны для утилитарных функций
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#синтаксическийсахар
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Если вы часто устаете, меняете позу и вам болит спина — эти три секрета для вас:
1. Кресло наше всё
Первым делом нужно сменить кресло. Не офисное, не широкое — берём кресло с анатомической поддержкой, поддержкой головы и поясницы.
2. Power nap — короткий дневной сон
Говорят, Леонардо да Винчи тоже так делал: спал по 20 минут каждые четыре часа, чтобы быстро восстанавливаться. Научитесь засыпать за секунды: включаю фоновую музыку, режим «не беспокоить» на 15-20 минут, откидываете кресло — и спите.
3. Не пропускаем важное
После пробуждения первым делом проверяем уведомления — это помогает не упустить важное. Смотрим чаты задач, потом уже личные.
Такой 15–20 минут сна даёт заряд бодрости работать максимально продуктивно, не отвлекаясь.
А что помогает быть продуктивным вам?
#режимразраба
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1
Что происходит в офисе РКН последнюю неделю:
This media is not supported in your browser
VIEW IN TELEGRAM
😁5
Зачем айтишнику математика?
Если вы хотите в Data Science, математика — это ваш пропуск. Не пугайтесь школьных формул, в IT всё логичнее и интереснее.
Мы обновили курс «Математика для разработки AI-моделей». Теперь преподаватели объясняют темы вживую на вебинарах.
Чему научим:
— Работать с матрицами и векторами (основа всех данных);
— Строить прогнозы (линейная регрессия);
— Делать рекомендательные системы (как в YouTube или Netflix).
Это база, которая нужна для старта в ML.
Запись открыта до 9 декабря:
https://clc.to/LojFzw
Если вы хотите в Data Science, математика — это ваш пропуск. Не пугайтесь школьных формул, в IT всё логичнее и интереснее.
Мы обновили курс «Математика для разработки AI-моделей». Теперь преподаватели объясняют темы вживую на вебинарах.
Чему научим:
— Работать с матрицами и векторами (основа всех данных);
— Строить прогнозы (линейная регрессия);
— Делать рекомендательные системы (как в YouTube или Netflix).
Это база, которая нужна для старта в ML.
Запись открыта до 9 декабря:
https://clc.to/LojFzw
👍1
Собрали для вас в карточках 5 стратегий для торгов на собеседовании. Есть ещё несколько, которые подробно описаны в статье.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#карьерныйкоммит
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🏗 Управление памятью в Python: как это работает
Python сам выделяет и очищает память, чтобы вы не думали о байтах и указателях. Но иногда автоматике стоит помочь.
1. Python управляет памятью автоматически
Когда вы пишете
▪️ Тип данных (int, list, dict)
▪️ Счетчик ссылок (кто использует объект)
▪️ Значение (сами данные)
Такой подход удобен: нет «висячих указателей», не нужно вручную вызывать
2. Счетчик ссылок
Каждый объект в Python — как воздушный шарик. Пока его кто-то держит (есть ссылки), он остается. Если все нити отпущены — объект исчезает.
Как это работает:
💡Но есть нюансы: Python кэширует строки и мелкие числа (-5 до 256), поэтому их ссылки могут не изменяться.
3. Сборщик мусора
Если объекты ссылаются друг на друга, счетчик ссылок их не удалит. Например:
Такие объекты удаляет сборщик мусора (Garbage Collector, GC), используя алгоритм поколений:
🍼 Поколение 0 — новые объекты, проверяются чаще.
🧑💼 Поколение 1 — пережили одну проверку.
🦖 Поколение 2 — «старожилы», проверяются реже.
Управление GC:
💡 Совет: если у вас много циклических объектов, очищайте их вручную (gc.collect()).
4. Как оптимизировать память вручную
🔸 slots для уменьшения потребления памяти:
🔸 Генераторы вместо списков:
🔸 Массивы вместо списков:
🔸 Кэширование с lru_cache:
5. Как искать утечки памяти
🔸 Используем tracemalloc — показывает, где «утекает» память:
🔸 Визуализация с objgraph — рисует граф зависимостей:
📌 Подробнее про управление памятью в Python: https://clc.to/SNaUtg
🏃♀️ Азбука айтишника
#магиякода
Python сам выделяет и очищает память, чтобы вы не думали о байтах и указателях. Но иногда автоматике стоит помочь.
1. Python управляет памятью автоматически
Когда вы пишете
x = [1, 2, 3], Python не заставляет вас думать о байтах и указателях. Он сам выделяет память, отслеживает объекты и убирает мусор. Всё это делает менеджер памяти, который хранит: ▪️ Тип данных (int, list, dict)
▪️ Счетчик ссылок (кто использует объект)
▪️ Значение (сами данные)
Такой подход удобен: нет «висячих указателей», не нужно вручную вызывать
malloc/free, а ресурсы оптимизируются автоматически. 2. Счетчик ссылок
Каждый объект в Python — как воздушный шарик. Пока его кто-то держит (есть ссылки), он остается. Если все нити отпущены — объект исчезает.
Как это работает:
import sys
a = [1, 2, 3]
print(sys.getrefcount(a)) # 2 (одна ссылка в переменной + вызов функции)
b = a
print(sys.getrefcount(a)) # 3 (еще одна ссылка)
del a
print(sys.getrefcount(b)) # 2 (одна ссылка удалена)
b = None # Объект больше не используется → удален
💡Но есть нюансы: Python кэширует строки и мелкие числа (-5 до 256), поэтому их ссылки могут не изменяться.
3. Сборщик мусора
Если объекты ссылаются друг на друга, счетчик ссылок их не удалит. Например:
class Node:
def __init__(self):
self.parent = None
a = Node()
b = Node()
a.parent = b
b.parent = a # Циклическая ссылка!
Такие объекты удаляет сборщик мусора (Garbage Collector, GC), используя алгоритм поколений:
🍼 Поколение 0 — новые объекты, проверяются чаще.
🧑💼 Поколение 1 — пережили одну проверку.
🦖 Поколение 2 — «старожилы», проверяются реже.
Управление GC:
import gc
gc.collect() # Принудительный запуск
gc.set_threshold(700, 10, 10) # Настройка частоты очистки
💡 Совет: если у вас много циклических объектов, очищайте их вручную (gc.collect()).
4. Как оптимизировать память вручную
🔸 slots для уменьшения потребления памяти:
class User:
slots = ['name', 'age'] # Экономит до 40% памяти
def __init__(self, name, age):
self.name = name
self.age = age
🔸 Генераторы вместо списков:
# Неоптимально:
lines = open("data.txt").readlines() #Весь файл в памяти!
# Оптимально:
def read_lines(filename):
with open(filename) as f:
for line in f:
yield line # Читаем по одной строке
🔸 Массивы вместо списков:
import array
numbers = array.array('i', [1, 2, 3, 4, 5]) # Числовой массив (экономия памяти)
🔸 Кэширование с lru_cache:
from functools import lru_cache
@lru_cache(maxsize=1000)
def compute(x):
return x 2 # Кэширует результаты функции
5. Как искать утечки памяти
🔸 Используем tracemalloc — показывает, где «утекает» память:
import tracemalloc
tracemalloc.start()
data = [x for x in range(10_000)] # Проблемный код
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')
print(top_stats[0]) # Где выделена память?
🔸 Визуализация с objgraph — рисует граф зависимостей:
import objgraph
objgraph.show_most_common_types(limit=5) # Какие объекты «размножаются»?
📌 Подробнее про управление памятью в Python: https://clc.to/SNaUtg
#магиякода
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
ИИ ведь должен был помогать, а не вредить 🧠
Просто ответственный эйчар, который заинтересован в рекрутинге.
🏃♀️ Азбука айтишника
#небагафича
Просто ответственный эйчар, который заинтересован в рекрутинге.
#небагафича
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7
Вы уже в команде. Задачи, дедлайны, пайплайны — всё как у взрослых. Но как не потеряться, если вокруг опытные разработчики, а вы только начали.
Глупых вопросов не существует. Лучше спросить сейчас, чем допустить баг, который уйдёт в прод. Вопрос в 10:00 спасает вечер.
Да, именно так. Всё непонятное — термины, вопросы, фрагменты кода — записывайте в один файл. Потом разберётесь или зададите вопросы.
Даже если пока не коммитите в прод, читайте чужие изменения. Это помогает понимать, как устроен проект и как принимаются технические решения.
Помните: у вас есть уникальное преимущество — вы только начинаете. У вас пока нет выгорания, нет рутины, и вы действительно хотите разобраться. Используйте это.
А вы уже работали в команде?
Пишите в комментариях 👇
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#карьерныйкоммит
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
📝 Промпт для идеального рефакторинга кода
ChatGPT способен помочь программистам в решении их проблем с кодом, генерируя решения на месте. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется.
Вот несколько промтов для рефакторинга:
⚡️ ️Как вы обычно рефакторите свой код? Делитесь в комментариях!
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🏃♀️ Азбука айтишника
#магиякода
ChatGPT способен помочь программистам в решении их проблем с кодом, генерируя решения на месте. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется.
Вот несколько промтов для рефакторинга:
1. Предложи улучшения в рефакторинге для [язык] кода с целью повышения тестируемости: [фрагмент кода].
2. Выяви возможности применения [архитектурного паттерна] в данном [язык] коде: [фрагмент кода].
3. Оптимизируй следующий [язык] код для уменьшения использования памяти: [фрагмент кода].
4. Отрефакторь приведенный [язык] код для улучшения обработки ошибок и устойчивости к ним: [фрагмент кода].
5. Предложи такие изменения в приведенном [язык] коде, чтобы соблюдался [SOLID или другой принцип проектирования]: [фрагмент кода].
⚡️ ️Как вы обычно рефакторите свой код? Делитесь в комментариях!
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#магиякода
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻 Выжимаем максимум из код-ревью
Большинство разработчиков не любит проводить код-ревью. Все понимают, что это важно и нужно, могут с ходу назвать три-четыре причины необходимости этого процесса. Но раз за разом они всячески избегают его. Или участвуют в нём неэффективно.
Поэтому разрушим шаблоны — не будем акцентировать внимание на важности и полезности код-ревью, а разберёмся в причинах сложившейся неприязни к этому процессу. И попробуем понять, как с этим жить.
👉 Читать статью
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🏃♀️ Азбука айтишника
#ликбез
Большинство разработчиков не любит проводить код-ревью. Все понимают, что это важно и нужно, могут с ходу назвать три-четыре причины необходимости этого процесса. Но раз за разом они всячески избегают его. Или участвуют в нём неэффективно.
Поэтому разрушим шаблоны — не будем акцентировать внимание на важности и полезности код-ревью, а разберёмся в причинах сложившейся неприязни к этому процессу. И попробуем понять, как с этим жить.
👉 Читать статью
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
❤️ — Страдаю от лени и нихрена не делаю
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#небагафича
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
«Стартап-атмосфера» = хаос и переработки, «возможность профессионального роста» = будете работать за четверых. Составили словарь корпоративного новояза и список неудобных вопросов, которые стоит задать на собеседовании, чтобы не попасть в ловушку.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#карьерныйкоммит
Please open Telegram to view this post
VIEW IN TELEGRAM