равно спросят: ну вы же разобрались как работает Go Sheduler? А как работает OS Scheduler разобрались? А что если у нас Процессор с гипертредингом? А без него? А что если у нас вообще один камень? 🙂
Я напомню, что мы начали с вопроса "Просто Go для фундаментального углубления и понимания темы imho плохо подходит". Причем тут вопрос на собесе про Go Scheduler? Но вопрос про Go Scheduler он прикольный и интересный же
Я кстати довольно сильно сомневаюсь, что мидл во первых ответит на такие вопросы, а во вторых что знание этих вещей мидлом ему поможет по жизни.
Там ответы-то простые. Я только про гипертрединг просто не знаю
Смотря с каким уровнем деталей отвечать :)
Смотря как глубоко будет копать собеседующий. Я бы вот так сказал.
Отвечаю. Обычно принято изучать что-то от простого к сложному. Изучать multithreading и concurrency на примере Go, это мне кажется наоборот. От сложного к простому.
Мне кажется что наоборот, в Го за счет того что это абстракция - можно сосредоточиться на том, где люди чаще ошибаются
Ну ок. Пусть будет от простого: https://youtu.be/hB05UFqOtFA
Всплакнул. Середина 80-ых...
Знаете что смешно?
имхо, хороший вопросец "как реализована вытесняющая многозадачность в go начиная с 1.14?" )))
Как как, была кооперативная, стала вытесняющая. 😂
а про hyperthreading вопрос хороший. вроде "зачем он нужен?" и "когда от него польза, а когда вред?"
Она реализована )))
Я вот пошёл сейчс посмотрел - а есть смысл сейчас знать об этом? И где почитать подробности. В wiki как-то смазанно
А таненбаум все ещё не покрывает большую часть вопросов?
Я вообщеине уверен, что покрывает. Но нет книги, сказать не могу. Лет 15 назад тот же шедулер freebsd можно было разобрать только по коду
Вот я открыл пдфку за 2015, там 10.3.4 планирование в линух, беглым взглядом как будто что надо
А влей ее куда-нибудь. Или она общедоступна? А там точно современное состояние дел? (возможно и так, я верю)
Первая ссылка в Гугле по "таненбаум операционные системы" даёт пдф
Признаю. Я почему-то элементарные штуки забываю там посмотреть
Как-то там очень вкратце. И ничего про групповой шедулинг
cgroups это разве не уже более специфичное дело?
Оно описывает ядра примерно времен 2.6.20
Эээээ.... А ну вообще это прямо конкретно на шедулинг влияет
Возможно, но лично на мой взгляд это уже оверхед для знаний "типового" программиста-гофера на собесе. Все-таки я лучше послушаю как работает шедулер в го, чем про cgroups.
С другой стороны, я пять раз читал что такое lru и пчть раз забыл. Потому что не надо нигде
Да ладно. Тебе бы могло пригодиться для бота
Бот боту рознь))
А вот к этому я не знаю, как относиться :( Потому, что lru - не структура данных, а тактика кеширования И если ты не помнишь, что это - ты и применить не сможешь :(
Ну точнее, я помню что она есть. Такмчто в теории смогу
Обсуждают сегодня