November 2016

S M T W T F S
  1 2345
6789101112
13141516171819
20212223 242526
27282930   

Style Credit

Expand Cut Tags

No cut tags
Tuesday, October 13th, 2009 07:43 pm
Читал стандарт C99, много офигедумал.

void f(int a[static restrict 10], const int b[static restrict 10]) { ... }
Tuesday, October 13th, 2009 04:49 pm (UTC)
Мне кажется, что задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка, никогда или почти никогда не использующейся на практике, не совсем подходят для отбора стандартных разработчиков from the bottom of the barrel стандартных программ.
Tuesday, October 13th, 2009 05:17 pm (UTC)
Жизненная, жизненная :)
Tuesday, October 13th, 2009 05:50 pm (UTC)
угу, неэффективное...
Wednesday, October 14th, 2009 08:42 am (UTC)
Абсолютно :-)
Wednesday, October 14th, 2009 07:41 am (UTC)
Нет. В man-е написано что getchar возвращает int.
Wednesday, October 14th, 2009 08:06 am (UTC)
Тут есть несколько уровней.

1. Чем отличается число являющееся степенью двойки от других чисел?

Человек должен понимать как выглядит двоичное представление числа и что у такого числа только одна единица. Не знает - долой.

2. Как убедится программно и в то же время быстро, что единица только одна.

Здесь как минимум два варианта. Быстрый и не быстрый. Ну и еще есть "не знаю". Или "я слишком волнуюсь, не могу придумать, но наверняка google поможет"

Интересно, как ты будешь воспринимать кандидата, который ответил на 1-й, но по-разному ответил на второй?

P.S. Это не претензия ни в коей мере :-) Действительно интересно. Никогда не приходилось так набирать людей.
Wednesday, October 14th, 2009 09:41 am (UTC)
1. Быстрое решение

(x && x-1) == 0

2. Медленное решение

Циклы, сдвиги...

3. Не знаю

4. Не могу сейчас вспомнить, но какое-то легкое решение точно было, в гугле найдется.
Wednesday, October 14th, 2009 10:33 am (UTC)
А если через 10 минут не придумает, то это пропащий случай?
Saturday, October 17th, 2009 01:09 pm (UTC)
Мы с heviosso обсудили задачку в раздевалке...
Wednesday, October 14th, 2009 07:24 am (UTC)
А что, они подходят для отбора нестандартных разработчиков? Это какие? Те, которые знают наизусть стандарт языка? Или по ночам вместо решения задач изучают тонкости языка?
Wednesday, October 14th, 2009 07:53 am (UTC)
Я на "Мне кажется, что задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка, никогда или почти никогда не использующейся на практике, не совсем подходят для отбора стандартных разработчиков from the bottom of the barrel стандартных программ." отвечал.

Они имелось в виду "задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка".
Wednesday, October 14th, 2009 07:57 am (UTC)
Знание тонкостей стандарта языка и его конкретных реализаций, свойственные "нестандартным" разработчикам, позволяют им быстрее и легче находить тонкие, не видимые большинству разработчиков с превого взгляда, проблемы в коде. Более того, это знание позволяет им избежать написания проблемного кода.
Wednesday, October 14th, 2009 08:09 am (UTC)
Находить проблемы - согласен. Избегать проблемного кода - не согласен.

Ведь как раз тонкости приводят к написанию "нестандартного" кода. Странного, непонятного, трудного. С которым другие программисты намучаются. А "стандартный путь" (который в man-ах) протоптан миллион раз.

ИМХО тонкостей нужно избегать. Они нужны только в самых специфичных задачах. Таких как ядро ОС, например и\или работа с железом.
Wednesday, October 14th, 2009 08:22 am (UTC)
Избегать проблемного кода - не согласен

Почему? Если человек хорошо осведомлён о возможных неочевидных побочных эффектах того или иного кода, он - если он хороший разработчик - будет избегать его использования. Именно для того, чтобы другим потом не пришлось с ним мучаться.

ИМХО тонкостей нужно избегать

Полностью согласен. И это никак не противоречит сказанному мной.