Интервью: Интересные вопросы

User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Re: Интервью: Интересные вопросы

Post by idle0 »

valchkou wrote: 16 Nov 2021 06:14
Andriy777 wrote: 16 Nov 2021 04:42 Естесственно будет погрешность. Погрешность можно определить и вычесть. Например, при первом запуске с N threads, при 2N threads, при 4N threads можно ожидать, что остальные прерывания от периферии идут с такой же частотой как они были при N-запуске. И прикинуть формулы избавления.
это все очень интересно но непонятно нафига это нужно UNIX System Administrator?
я так понимаю ожидалось решение типа

Code: Select all

find /var/www/my_website -type f -exec chmod 0644 {} \;
Не думайте о UNIX System Administrator, это не важно
moria# show running-config
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Интервью: Интересные вопросы

Post by kostik78 »

idle0 wrote: 16 Nov 2021 06:57
kostik78 wrote: 16 Nov 2021 06:54 Вопрос дурной ибо для ответа нужно знать ещё какой scheduler используется. В кернеле их несколько :pain1:
Ну время то замерить можно при любом, нет?
Замерить нельзя - можно посчитать примерно зная частоту процессора, тип scheduler и скорость second cache. Все остальное - гадание на кофейной гуще. В кернел дебаг тулкит есть модуль на эту тему. Сам я на эту тему лет 8-9 не копался правда
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Интервью: Интересные вопросы

Post by kostik78 »

Это читали https://eli.thegreenplace.net/2018/meas ... x-threads/ ?
Глянул по диагонали - выглядит на правду
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: Интервью: Интересные вопросы

Post by Andriy777 »

uncle_Pasha wrote: 16 Nov 2021 06:42
Andriy777 wrote: 16 Nov 2021 04:42 если во время моего теста не двигать мышью, не лезть в интернет и пр., применить максимум усилий к уменьшению этих прерываний от периферии
Часы тоже отключить?
Я со временем начинаю понимать, что автор как-то не так понял вопрос. Если это Линукс, можно ли посмотреть исходный код этого перехода? Возможно, там сотня простейших инструкций и можно сложить их стоимость в тактах процессора. Потом по тактовой частоте посчитать. Это если операционка сама не дает статистику.

Но, вот даже в моей попытке померять, я избегал память. Т.е. для алгоритмов, которые чисто выполняют инструкции, стоимость этих контекст переходов мизерная. 20 миллисекунд пробега против сотни инструкций с 2Ггц частотой. Контекст переходы убивают алгоритмы, которые за время простоя потока еще и потеряли свои данные в CPU кешах. Т.е. стоимость переходов зависит от конкретной ситуации. И для администратора, наверное, задача была узнать с помощью всяких инструментов - много ли таких переходов по сравнению со статистически-нормальной, когда процессы используют thread-pool и минимизируют переходы. Если много, то убирать лишние процессы.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Интервью: Интересные вопросы

Post by nyekimov »

valchkou wrote: 16 Nov 2021 01:15
idle0 wrote: 15 Nov 2021 22:45
valchkou wrote: 15 Nov 2021 21:14
idle0 wrote: 14 Nov 2021 18:12 Я получил вот такой вопрос, на который честно говоря сам не знаю как ответить

"Напишите программу которая позволяет замерить время context switch в Linux-е"
на какую позицию дают такие вопросы?
UNIX System Administrator
UNIX System Administrator который пишет программы? Интересно где такие мастодонты требуются.
я думал уже все кто умеет кодить превратились в девопсов а кто не умеет в клауд архитекторов.
Ох брат, нынче хоть и нехватка спецов но особенно калифорнийские компании идут кто на что горазд. Например на полном серьезе спрашивают на позицию мануал qa задачи с литкод.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Интервью: Интересные вопросы

Post by valchkou »

nyekimov wrote: 16 Nov 2021 23:02 Ох брат, нынче хоть и нехватка спецов но особенно калифорнийские компании идут кто на что горазд. Например на полном серьезе спрашивают на позицию мануал qa задачи с литкод.
Я догадываюсь откуда ноги растут, как правило на позиции куёв, и не важно ручных или ножных, есть требование bachelor in CS or similar.
В наши дни подразумевается что с этим дегри кандидат умеет хоть что то решать с литкода.

Недавно был личный опыт, наш мануальный куй думал что он будет чисто по кнопкам тыкать в случайном порядке, а оказалось мы ожидаем что он будет и в линуксе немного шарить и логи в докерах уметь смотреть и немного, ну хоть немного понимать многоуровневую архитектуру, что типа где есть сервер, на который нужно иногда заходить и даже что то там рестартовать и в базу лазить, а не просто таращиться в браузер. Другие нашу куи такие продвинутые.
Сам ушел.
И тут, читая твой пост, я подумал что может быть литкод не самая плохая мысль.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Интервью: Интересные вопросы

Post by nyekimov »

valchkou wrote: 17 Nov 2021 01:02
nyekimov wrote: 16 Nov 2021 23:02 Ох брат, нынче хоть и нехватка спецов но особенно калифорнийские компании идут кто на что горазд. Например на полном серьезе спрашивают на позицию мануал qa задачи с литкод.
Я догадываюсь откуда ноги растут, как правило на позиции куёв, и не важно ручных или ножных, есть требование bachelor in CS or similar.
В наши дни подразумевается что с этим дегри кандидат умеет хоть что то решать с литкода.

Недавно был личный опыт, наш мануальный куй думал что он будет чисто по кнопкам тыкать в случайном порядке, а оказалось мы ожидаем что он будет и в линуксе немного шарить и логи в докерах уметь смотреть и немного, ну хоть немного понимать многоуровневую архитектуру, что типа где есть сервер, на который нужно иногда заходить и даже что то там рестартовать и в базу лазить, а не просто таращиться в браузер. Другие нашу куи такие продвинутые.
Сам ушел.
И тут, читая твой пост, я подумал что может быть литкод не самая плохая мысль.
Если такое надо, то наверное да. У тебя ж фирма реально продвинутая. Но если вернуться к твоему изначальному комменту, то что мешает человеку с cs degree идти дальше в разработчики или админ бд или ещё чего. Нормальный qa как по мне должен тестировать фронт и находить баги вперед пользователя. И не обязательно забивать голову тех деталями, хотя конечно не помешает. Все остальное, это уже хотелки частного места. Хотят скинуть с разработчика рутинные обязанности, экономят на sre.
Ну и в вакансиях как правило зоопарк - нужно уметь все, а человек придёт, 2/3 там и не нужно.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Интервью: Интересные вопросы

Post by valchkou »

nyekimov wrote: 17 Nov 2021 02:49
valchkou wrote: 17 Nov 2021 01:02
nyekimov wrote: 16 Nov 2021 23:02 Ох брат, нынче хоть и нехватка спецов но особенно калифорнийские компании идут кто на что горазд. Например на полном серьезе спрашивают на позицию мануал qa задачи с литкод.
Я догадываюсь откуда ноги растут, как правило на позиции куёв, и не важно ручных или ножных, есть требование bachelor in CS or similar.
В наши дни подразумевается что с этим дегри кандидат умеет хоть что то решать с литкода.

Недавно был личный опыт, наш мануальный куй думал что он будет чисто по кнопкам тыкать в случайном порядке, а оказалось мы ожидаем что он будет и в линуксе немного шарить и логи в докерах уметь смотреть и немного, ну хоть немного понимать многоуровневую архитектуру, что типа где есть сервер, на который нужно иногда заходить и даже что то там рестартовать и в базу лазить, а не просто таращиться в браузер. Другие нашу куи такие продвинутые.
Сам ушел.
И тут, читая твой пост, я подумал что может быть литкод не самая плохая мысль.
Если такое надо, то наверное да. У тебя ж фирма реально продвинутая. Но если вернуться к твоему изначальному комменту, то что мешает человеку с cs degree идти дальше в разработчики или админ бд или ещё чего. Нормальный qa как по мне должен тестировать фронт и находить баги вперед пользователя. И не обязательно забивать голову тех деталями, хотя конечно не помешает. Все остальное, это уже хотелки частного места. Хотят скинуть с разработчика рутинные обязанности, экономят на sre.
возможно издержки платформы. У нас просто тестеры отделены и как бы сами по себе и сами отвечают за свои энвайронменты
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: Интервью: Интересные вопросы

Post by Сабина »

idle0 wrote: 15 Nov 2021 19:16
rx300 wrote: 15 Nov 2021 18:57
idle0 wrote: 15 Nov 2021 09:32 Это не про архитектуру процессора но и не про замер времени выполнения fork-a :)
По тому как описано, это именно замер скорости fork'а. Есть низкоуровневые способы, но вряд ли они имелись в виду постановщиками задачи.
Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
https://www.youtube.com/watch?v=wOwblaKmyVw
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Интервью: Интересные вопросы

Post by kostik78 »

Сабина wrote: 17 Nov 2021 03:57
idle0 wrote: 15 Nov 2021 19:16
rx300 wrote: 15 Nov 2021 18:57
idle0 wrote: 15 Nov 2021 09:32 Это не про архитектуру процессора но и не про замер времени выполнения fork-a :)
По тому как описано, это именно замер скорости fork'а. Есть низкоуровневые способы, но вряд ли они имелись в виду постановщиками задачи.
Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D
alex_127
Уже с Приветом
Posts: 7723
Joined: 29 Mar 2000 10:01
Location: Kirkland,WA

Re: Интервью: Интересные вопросы

Post by alex_127 »

kostik78 wrote: 17 Nov 2021 06:19
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D

там вариация длины квантума+много другого а не собственно свитч. но он и писал что измерял "интерактивность" - как скоро он сможет получить квантум при нагрузке
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Re: Интервью: Интересные вопросы

Post by idle0 »

Сабина wrote: 17 Nov 2021 03:57
idle0 wrote: 15 Nov 2021 19:16
rx300 wrote: 15 Nov 2021 18:57
idle0 wrote: 15 Nov 2021 09:32 Это не про архитектуру процессора но и не про замер времени выполнения fork-a :)
По тому как описано, это именно замер скорости fork'а. Есть низкоуровневые способы, но вряд ли они имелись в виду постановщиками задачи.
Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
Вот отсюда выкопался правильный ответ! Спасибо Сабина!!!

https://pages.cs.wisc.edu/~remzi/OSTEP/ ... anisms.pdf

Measuring the cost of a context switch is a little trickier. The lmbench benchmark does so by running two processes on a single CPU, and set- ting up two UNIX pipes between them; a pipe is just one of many ways processes in a UNIX system can communicate with one another. The first process then issues a write to the first pipe, and waits for a read on the second; upon seeing the first process waiting for something to read from the second pipe, the OS puts the first process in the blocked state, and switches to the other process, which reads from the first pipe and then writes to the second. When the second process tries to read from the first pipe again, it blocks, and thus the back-and-forth cycle of communication continues. By measuring the cost of communicating like this repeatedly, lmbench can make a good estimate of the cost of a context switch. You can try to re-create something similar here, using pipes, or perhaps some other communication mechanism such as UNIX sockets.

Это можно даже на Питоне сделать
moria# show running-config
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Re: Интервью: Интересные вопросы

Post by idle0 »

kostik78 wrote: 17 Nov 2021 06:19
Сабина wrote: 17 Nov 2021 03:57
idle0 wrote: 15 Nov 2021 19:16
rx300 wrote: 15 Nov 2021 18:57
idle0 wrote: 15 Nov 2021 09:32 Это не про архитектуру процессора но и не про замер времени выполнения fork-a :)
По тому как описано, это именно замер скорости fork'а. Есть низкоуровневые способы, но вряд ли они имелись в виду постановщиками задачи.
Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D
Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
moria# show running-config
User avatar
Komissar
Уже с Приветом
Posts: 65198
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Интервью: Интересные вопросы

Post by Komissar »

idle0 wrote: 17 Nov 2021 07:31

https://stackoverflow.com/questions/236 ... n-linux-os ?


Вот отсюда выкопался правильный ответ! Спасибо Сабина!!!
Сабина - молоток! На 3х форумах раздел "Работа" на себе тянет :radio%: :gen1:
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15477
Joined: 27 Sep 2007 22:53

Re: Интервью: Интересные вопросы

Post by Мальчик-Одуванчик »

idle0 wrote: 17 Nov 2021 07:32 Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
Осталось только уточнить что измеряем: переключение контекста процесса или потока.
Если потока - то уточняем какого.
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Re: Интервью: Интересные вопросы

Post by idle0 »

Мальчик-Одуванчик wrote: 17 Nov 2021 08:03
idle0 wrote: 17 Nov 2021 07:32 Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
Осталось только уточнить что измеряем: переключение контекста процесса или потока.
Если потока - то уточняем какого.
Это trick question.
moria# show running-config
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Интервью: Интересные вопросы

Post by kostik78 »

idle0 wrote: 17 Nov 2021 07:32
kostik78 wrote: 17 Nov 2021 06:19
Сабина wrote: 17 Nov 2021 03:57
idle0 wrote: 15 Nov 2021 19:16
rx300 wrote: 15 Nov 2021 18:57
По тому как описано, это именно замер скорости fork'а. Есть низкоуровневые способы, но вряд ли они имелись в виду постановщиками задачи.
Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D
Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
В статье что я Вам послал описан этот способ с pipes а также указано почему он не полный как и впрочем второй способ.
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Re: Интервью: Интересные вопросы

Post by idle0 »

kostik78 wrote: 17 Nov 2021 16:28
idle0 wrote: 17 Nov 2021 07:32
kostik78 wrote: 17 Nov 2021 06:19
Сабина wrote: 17 Nov 2021 03:57
idle0 wrote: 15 Nov 2021 19:16

Вот в авторском варианте

"Write a C program which measures the the speed of a context switch on a Linux system."


Во время fork-a конечно происходит context switch, но тут мне кажется другое :)
https://stackoverflow.com/questions/236 ... n-linux-os ?
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D
Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
В статье что я Вам послал описан этот способ с pipes а также указано почему он не полный как и впрочем второй способ.
Есть более оптимальный вариант чем с pipes?
moria# show running-config
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Интервью: Интересные вопросы

Post by Boriskin »

nyekimov wrote: 17 Nov 2021 02:49 Нормальный qa как по мне должен тестировать фронт и находить баги вперед пользователя. И не обязательно забивать голову тех деталями, хотя конечно не помешает. Все остальное, это уже хотелки частного места. Хотят скинуть с разработчика рутинные обязанности, экономят на sre.
Счас модно автоматизировать тестирование, где-то это блажь, где-то без этого реально никуда. Поэтому и хотелки на тестеров растут - чтоб не только мышкой двигали, но и скрипты писали и всякими спец тулзами владели. Чисто мануальщики медленно вымирают.
Тупизна как Энтропия. Неумолимо растет.
kostik78
Уже с Приветом
Posts: 3180
Joined: 17 May 2007 14:07

Re: Интервью: Интересные вопросы

Post by kostik78 »

idle0 wrote: 17 Nov 2021 16:38
kostik78 wrote: 17 Nov 2021 16:28
idle0 wrote: 17 Nov 2021 07:32
kostik78 wrote: 17 Nov 2021 06:19
Ответ там не верный. И даже не вчитываясь что человек написан, достаточно увидеть С++ с шаблонами из std. Это как бы об многом говорит :D
Ответ неверный, но есть ниже ссылка на правильный ответ. См. мой пост выше
В статье что я Вам послал описан этот способ с pipes а также указано почему он не полный как и впрочем второй способ.
Есть более оптимальный вариант чем с pipes?
Оптимального нет ибо он не возможен в user space по этому и я сказал что context switching можно только примерно высчитать если знать исходные данные процессора и тип scheduler. Все остальные методы включая pipes имеют большие погрешности ибо не учитывается много факторов.

Return to “Работа и Карьера в IT”