voltage

Untitled

Nov 19th, 2019
649
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. Будет очень круто, если ребята ориентируются в следующих вопросах (можно спрашивать не все, а что вам лично больше нравится):
  2.  
  3. 1) Алгоритмы/структуры:
  4. — как найти 2 повторяющихся числа в миллионе чисел? Оценить сложность (знание O-семантики)
  5. — как можно из двух стеков сделать очередь? (бессмысленная задача, но человек должен понимать что такое стек и очередь, а то мало ли. если не понимает, наверное можно заканчивать на этом ¯\_(ツ)_/¯)
  6. — как развернуть односвязный список? (тоже бессмысленная, ну вдруг вам больше списки нравятся)
  7.  
  8. 2) Любой язык:
  9. — как вызвать ошибку переполнения стека? (рекурсия с достаточной глубиной, например)
  10. — декодирование длин серий: «2q3w» ==> «qqwww», алгоритм тут элементарный, но что может пойти не так? (хочется чтобы человек понимал что, во-первых, не всякое число влезет в его «int», а во-вторых если делать это декодирование втупую, то рано или поздно такую программу убьет Oom-killer за пережор памяти)
  11.  
  12. 3) Консоль/регулярки — было б круто дать свой ноут и посмотреть, но можно наверное и на словах:
  13. - взять любой файл с грепмейлога, дать задачку: вывести в порядке возрастания сколько какой айпишник/емейл/урл/http_code/что_угодно встречался (сочетание grep,sort,uniq и проч.)
  14. - пробежаться по всем файлам в каталоге и поменять табы на пробелы (что-то типа find src -type f -name "*.py" | xargs perl -i -pe '/\t/ /g')
  15.  
  16. 4) Система/Сеть:
  17. — kernel mode/user mode? примеры когда программа находится в user mode и когда в kernel mode
  18. — что такое context switch процессора и чем оно плохо? если расскажет, что вымываются кеши - хорошо. если расскажет что вымывается TLB — отлично.
  19. — как узнать, кто слушает на локалхосте порту 80?
  20. — как узнать, слушает ли кто на удаленном хосте на порту 80?
  21. — сколько исходящих tcp-коннектов можно открыть с одного endpoint и почему?
  22.  
  23. 5) БД:
  24. - что такое индекс, транзакия? как может быть реализован индекс (всякие там tree, хеш-таблицы, LSM)
  25. - почему много индексов - это плохо?
  26. - как можно пошардить что-нибудь, например емейлы юзеров на 512 шардов?
  27.  
  28. 6) Архитектура: ну например надо спроектировать очередь:
  29. — какое будет АПИ у очереди? (какие концы? http/не http? почему? json/не json? почему)
  30. — что делать с задачей, которую взял воркер, но не подтвердил исполнение? как это делать?
  31. — что делать, если воркер взял задачу, долго висел, пришел с результатом, когда эту же задачу уже взял другой?
  32. — если в АПИ был предусмотрен long polling новых задач — круто. если нет, то как его сделать и зачем он нужен?
Advertisement
Add Comment
Please, Sign In to add comment