Здравствуйте, avovana, Вы писали:
A>16. Вы разрабатываете приложение обрабатывающее большое число соединений в одном процессе, у которого один поток выполнения. Код должен работать без изменений на различных unix подобных системах. Какой системный вызов вы будете использовать? A. select B. pselect C. poll D. epoll E. kqueue
sys.апстена нужно использовать. Вопрошающему такое.
Почему — предполагается подумать самостоятельно.
Здравствуйте, avovana, Вы писали:
A>Идея, мол, что есть указатель на арену в malloc'е. И он thread_local. И начинает указывать на зануленную выделенную память(какой там ОС вначале даст сегмент). Мол, вот тебе и выделение heap'a. Же.
Программа в любом случае имеет право сказать malloc в одном потоке, а free — в другом. И стандартная библиотека не должна этому удивляться.
Другой вопрос, что может быть попотоковое выделение памяти под кучу с мыслью, что malloc сначала поищет в этой попотоковой куче, не беря никаких блокировок, а потом в общей куче, уже под локом. А free, наоборот, тоже как-то сообразит, что если память выделена из локальной кучи, то можно ее туда возвращать не под локом.
Но это именно оптимизация, чтобы в программе, которая очень интенсивно пользуется динамической памятью, потоки не мешали друг другу. И довольно нетривиальная оптимизация, поэтому далеко не везде реализованная.
Здравствуйте, landerhigh, Вы писали:
L>sys.апстена нужно использовать. Вопрошающему такое. L>Почему — предполагается подумать самостоятельно.
У меня просто сейчас подход такой — главное пройти собеседование. Т.е. не включать "фуне" на собесе. А по макс. загрузить свой ЦП, чтобы понять, что хотели и дать, что ожидали.
Исходя из своих знаний, умения ориентироваться в текущей обстановки, умения налаживания контакта с интервьюерами.
А потом уже думать насколько это было норм с их стороны. Главное от себя выдать норм.
Поэтому и интересуюсь мнениями как в итоге правильно ответить. Тогда прошёл на старшего разработчика. Но не прошёл по сумме решений на лида/архитектора.
В следующий раз умнее буду.
P.S. есть ещё задачка из "вконтакте" в core команду. Н-надо? Для разминки мозгов На собесе в моменте лишь примерное решение накидал. Интересно, кто-нибудь догадается о нормальном?
Здравствуйте, reversecode, Вы писали:
R>ну если я понял то что понял R>то в мусл имплементации оно не совсем так R>https://git.musl-libc.org/cgit/musl/tree/src/thread/pthread_create.c
R>но в целом да R>стек же не с воздуха берется R>а с хипа процесса, вон там анонимный mmap R>так что сначала хип а потом на него стек корректируют R>а не в так как в том комментарии про тлс R>тлс вообще до космоса(пример мюсла)
Вау. Спасибо за ссылку.
Т.е. взяли с кучи памяти и этот полученный адрес стал стартом для всего стека нового треда? Правильно понял?
A>>13. Для того, чтобы работать с дескриптором в неблокирующем режиме надо:
A>>A. передать специальные параметры вызову socket/open
A>>B. использовать select
A>>C. использовать fcntl
A>>
R>
Скрытый текст
R>A
Насчёт "А" это ты погорячился. У функции socket разве есть параметры для неблокирующего режима? Неблокирующий режим задаётся после создания сокета с помощью вызова fcntl с параметром F_SETFL и флагом O_NONBLOCK.
Теоретически, можно и с помощью select определить будет ли операция блокирующей или нет. Но это не надёжно. между select и операцией I/O сокет может уже протухнуть.
M>>Насчёт "А" это ты погорячился. У функции socket разве есть параметры для неблокирующего режима?
R>вот вы и не прошли собеседования R>нука быстро наверствывайте недостаток в знаниях
Первый параметр указывает на семейство адресации, второй на тип (потоковый или датаграммы с различными плюшками), третий на протокол.
В винде вообще вместо fcntl используется ioctlsocket с параметром FIONBIO и флагом 1 для перевода сокета в неблокирующий режим.
A>У меня просто сейчас подход такой — главное пройти собеседование. Т.е. не включать "фуне" на собесе. А по макс. загрузить свой ЦП, чтобы понять, что хотели и дать, что ожидали.
Подумай, так ли тебе хочется работать с пероснажами, которые уже на собеседовании дают понять, что они ничего не понимают в разработке?
а может его пытается собеседоват гендир
по вопросам оставшимися от старых работников
старые все срулили на большие зп
и его наймут на место этого главного который и будет рулить разработкой
о как закрутил
Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>Здравствуйте, landerhigh, Вы писали:
L>>они ничего не понимают в разработке?
SVZ>А как ты это понял? SVZ>По содержимому вопросника? ИМХО по нему можно только понять, что они не умеют проводить собеседование.
А значит, им пофиг, кого они в итоге наймут и с кем им придется работать ==> ничего не понимают в разработке.
Здравствуйте, landerhigh, Вы писали:
L>>>они ничего не понимают в разработке?
SVZ>>А как ты это понял?
L>А значит, им пофиг, кого они в итоге наймут и с кем им придется работать ==> ничего не понимают в разработке.
У меня сложилось впечатление, что опросник составляют одни люди (никак не заинтересованные), первичное собеседование с этим опросником проводят другие люди (мало понимающие в предметной области), а нанимать будут в группу к третьим и вот тут может быть более-менее вменяемое собеседование.
Очень похоже, как было в Люксофте.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>У меня сложилось впечатление, что опросник составляют одни люди (никак не заинтересованные), первичное собеседование с этим опросником проводят другие люди (мало понимающие в предметной области), а нанимать будут в группу к третьим и вот тут может быть более-менее вменяемое собеседование.
И эта группа "третьих" будет постоянно говорить, что вменяемых кандидатов нет.
Здравствуйте, landerhigh, Вы писали:
SVZ>>У меня сложилось впечатление, что опросник составляют одни люди (никак не заинтересованные), первичное собеседование с этим опросником проводят другие люди (мало понимающие в предметной области), а нанимать будут в группу к третьим и вот тут может быть более-менее вменяемое собеседование.
L>И эта группа "третьих" будет постоянно говорить, что вменяемых кандидатов нет.
К ним будут просачиваться кандидаты, которые помнят АПИ наизусть. Могут оказаться вполне неплохие разработчики.
ЗЫ. Но зубрить апи — странное занятие.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>Очень похоже, как было в Люксофте.
Ну всё верно. Крупная компания. С подходом, как сейчас принято(к счастью или сожалению): "Мы нанимаем в компанию в первую очередь, а не в команду".
Что, мол, пройдя общее собеседование уже с тобой связываются команды, которым хватило твоих набранных баллов или ещё чего-то там. И ты выбираешь с кем пообщаться.
И какую команду в итоге выбрать для работы.