Владислав
Репост из: Art of Code
Разбор_отборочного_теста_Ядро_—_курс_по_Си.pdf
Кто подался на курс YADRO по системному программированию на Си, отборочный тест нужно пройти до сегодняшнего вечера, дедлайн 1 октября в 23:59 по Москве. Времени мало, поэтому мы разобрали отборочный тест целиком: 19 вопросов по Си и 4 вопроса на мотивацию, по каждому есть правильный ответ, объяснение и ловушка, на которой чаще всего спотыкаются.
На тест дают около 25 минут, и проверяет он в первую очередь знание тёмных углов языка. Почти у каждого вопроса есть очевидный ответ, который оказывается неверным. Попробуй навскидку: что лежит в указателе после вызова free, если многие уверены, что там NULL? Сколько вернёт strlen("Hello\n"), 5, 6 или 7? Скомпилируется ли switch, у которого в case стоит обычная переменная? Нужно ли освобождать массив, объявленный на стеке, если один из вариантов ответа уверяет, что в C23 завезли сборщик мусора? Если хоть где-то засомневался, разбор тебе пригодится.
Вопросы в файле сгруппированы по четырём темам: поток управления, биты и числа, сборка и препроцессор, указатели и память. Внутри разобраны static в функции, XOR и дополнительный код, трюк с n & (n - 1), макросы без скобок, strtok и указатели на функции. В конце есть ключ на одной странице и таблица «десять ловушек Си», которую полезно держать под рукой и после отбора, перед любым собесом на позицию с Си.
Мотивационную часть мы тоже разобрали, но готовых ответов там нет и быть не может, это вопросы про тебя. Для каждого описано, что хотят увидеть проверяющие, как выстроить ответ и чего избегать, а ещё есть каркас с пропусками под твой опыт. Одинаковые шаблонные тексты у разных кандидатов видно сразу, а детали могут уточнить на следующем этапе, так что пиши своими словами и только про то, что действительно делал.
Подписаться: @codeof_art
Вступить в чатик: @code_of_art
На тест дают около 25 минут, и проверяет он в первую очередь знание тёмных углов языка. Почти у каждого вопроса есть очевидный ответ, который оказывается неверным. Попробуй навскидку: что лежит в указателе после вызова free, если многие уверены, что там NULL? Сколько вернёт strlen("Hello\n"), 5, 6 или 7? Скомпилируется ли switch, у которого в case стоит обычная переменная? Нужно ли освобождать массив, объявленный на стеке, если один из вариантов ответа уверяет, что в C23 завезли сборщик мусора? Если хоть где-то засомневался, разбор тебе пригодится.
Вопросы в файле сгруппированы по четырём темам: поток управления, биты и числа, сборка и препроцессор, указатели и память. Внутри разобраны static в функции, XOR и дополнительный код, трюк с n & (n - 1), макросы без скобок, strtok и указатели на функции. В конце есть ключ на одной странице и таблица «десять ловушек Си», которую полезно держать под рукой и после отбора, перед любым собесом на позицию с Си.
Мотивационную часть мы тоже разобрали, но готовых ответов там нет и быть не может, это вопросы про тебя. Для каждого описано, что хотят увидеть проверяющие, как выстроить ответ и чего избегать, а ещё есть каркас с пропусками под твой опыт. Одинаковые шаблонные тексты у разных кандидатов видно сразу, а детали могут уточнить на следующем этапе, так что пиши своими словами и только про то, что действительно делал.
Подписаться: @codeof_art
Вступить в чатик: @code_of_art