Kacam.net

Вопросы с собеседований

消息怎么做到不丢不重

「生产确认 + 持久化 + 手动 ACK,就不丢不重了」—— 真的吗?

Скопируйте заготовку и выберите модель. Она будет вести себя как интервьюер и разбирать задачу с вами по действиям, а не выкладывать ответ.

ChatGPT Claude DeepSeek 豆包 Kimi Gemini

На телефоне с установленным приложением система откроет само приложение. Внутри WeChat внешние приложения не открываются — сначала откройте ссылку в браузере.

В конце скопированного текста лежит разбор, по которому модель вас оценивает. Не читайте его заранее: ценно именно то, что вы дошли сами.

消息从生产到消费要经过三段,第二幕逐段问:这一段靠什么保证、关掉这个开关会怎样、开着的代价是什么。

第三幕落到重复:什么情况下必然重复,这时候幂等该落在哪张表、那张表和业务写入是不是一个事务。

第五幕拆那个词:号称精确一次的实现到底做了什么、前提是什么、你的业务满不满足这个前提。术语默认按 Kafka / RocketMQ 讲。

★★★★☆ · около 40 мин · Что проверяется: 三段各自的机制、必然重复的那些情况、幂等落在哪、精确一次的前提

На что опирается этот вопрос

Надёжность хранения Идемпотентность и дедупликация

Делали эту задачу?

Войдите, чтобы отметить, что задача пройдена: в следующий раз будет видно, когда это было.

Заметки тех, кто уже прошёл

Пока никто не написал. После разбора расскажите, что из него вышло: на каком действии вы застряли и какой вывод потом поменяли.

Войти, чтобы написать заметку.

Как этим пользоваться

Этот набор допрашивает, а не учит. Это тренировочное собеседование: остаться без ответа — нормальный исход, вас не прикроют и не договорят за вас фразу, если вы запнулись. Хотите разобраться в теме, а не готовиться к собеседованию, — идите в «Компьютерные системы», «Базы данных» или «Алгоритмы»: там ведут за руку.

Как один затёртый вопрос заполняет сорок минут: лестница из пяти слоёв

  • Слой 1 · Определение — что означает каждый термин и в чём различия. Нет ответа — вы этого не учили.
  • Слой 2 · Механизм — какая именно структура и какой шаг порождают это различие. Нет ответа — вы выучили только вывод.
  • Слой 3 · Числа — насколько? Сколько микросекунд, во сколько раз, сколько операций ввода-вывода. Нет ответа — вы этого руками не трогали.
  • Слой 4 · Выбор — в конкретной ситуации: что выбираете, какой ценой и когда этот выбор оказывается неверным. Нет ответа — вы не умеете это применять.
  • Слой 5 · Границы — при каких условиях всё сказанное перестаёт работать. Нет ответа — вы всё вызубрили, но не поняли.

Планка: слой 4 — это уровень, который проходит собеседование, слой 5 — это понять по-настоящему, а всё, что остановилось на слое 1, записывается как заученное.

Шесть актов — первый и последний есть только здесь

  • В первом акте он не перебивает, не комментирует и не подсказывает: вы одним заходом выдаёте ту версию, что у вас есть, и она фиксируется как исходная. Молчание намеренное — он слушает, просто пока не поправляет.
  • Четыре средних акта идут вниз по лестнице; главное поле боя — третий: механизм и числа.
  • Последний акт ставит на таймер шестьдесят секунд и заставляет пересказать всё заново, рядом с вашей первой версией, — потому что на собеседовании нужно сдать не «я понимаю», а фразу, которую вы способны произнести вслух.

С чего начать

  1. Выберите одну, откройте и скопируйте промпт.
  2. Вставьте его в совершенно новый диалог, ничего не говорите и дождитесь первого вопроса.
  3. Дальше отвечайте как на собеседовании: одним заходом выдайте свою заученную версию. Пусть выйдет плохо — это и есть та отправная точка, с которой в конце будут сравнивать.
  4. После этого начнётся давление. Остаться без ответа — нормальный исход: это не учебный материал, а тренировочное собеседование.

Пять команд, которые можно бросить в любой момент

  • 跳过 сразу к следующему акту
  • 提示 дай подсказку, а не ответ
  • 直说吧 скажи полный ответ
  • 重讲 перейти к последнему акту, перезаписать версию на шестьдесят секунд и сравнить с первой
  • 复盘 сразу к разбору, выдай итоговую карточку

Три ловушки

  • В конце скопированного текста лежат карты на руках — не читайте их заранее. Одна из колонок называется «отпечатки зубрёжки»: там записаны ровно те фразы, которые вы с высокой вероятностью выпалите. Прочитали — тренировать больше нечего.
  • Не подсовывайте прилагательные там, где нужна цифра. «Намного быстрее», «накладные расходы мизерные» — вас тут же остановят и потребуют число. Вывод без порядка величины записывается как заученный.
  • Последние две группы привязаны к языку: группа Java — если вы пишете на Java, группа Go — если на Go. Они не перевод друг друга, вопросы в каждой свои, так что делать обе не нужно.

Через неделю собеседование на бэкенд? Процесс и поток, TCP и UDP, почему B+-деревья, уровни изоляции, три способа, которыми ломается кэш, и идемпотентность — шесть самых частых, почти без пересечений. Вас разобрали на собеседованиях и вы ищете пробелы? Начните с «от ввода URL до отрисованной страницы»: она разом обнажает все слабые места, а дальше выбирайте по тому, что всплыло.