nyurka: (Default)
[personal profile] nyurka

-Ты кто?
-Добрая фея.
-А чего с топором?
-Да настроение что-то не очень...

(via [info]anhel_05 )

В связи с тем, что все конторы с началом года набирают под обновленный бюджет народ, уже почти месяц имею по 2-3 интервью в неделю на всех своих работах. Точнее имеют все меня :))))
Требования - он начинающих до зубров. Про начинающих даже не говорю - попытка для сравнения строк вычесть адреса оных, это даже не ошибка, а так шуточки, по сравнению с тем что я периодически слышу.
Но "Зубры"!!!!
О, зубры это отдельный разговор.
Освобождение памяти после return - почти каждый второй.
Пары new - free или malloc-delete тоже самое.
Считать последнюю строку в стандартном текстовом файле размером 5-6 мега - разумеется надо сначала считать весь файл. Упростила - памятуя недавнюю fscanf-скую историю - все строки равны по размеру в байтах. Не помогло. 9 из 10 зубров упорно читают файл от начала до конца.
Или вот дан вам объект стандартного CString, назовем его str.
И дана какая-то строка char назовем ее buf.
Что вы сделаете, чтобы строка в str была равна строке в buf???
str = buf???????
Да вы, батенька, ламер.
Инстинный настоящий программер сделает так :
strcpy(str.GetBuffer(strlen(buf) + 1), buf);
Я минуты 2 смотрела только чтобы понять что же он имел ввиду.
Что такое realloc зачем оно надо и как им пользоваться не знает практически никто.
Зато чтобы какому-то несчастному интеджеру присвоить значение пишем ровно 3 тысячи классов. Грамотно пишем причем.  Ни к чему не придерешься.
Но ЗАЧЕМ??????
И, наконец, 9 из 10 человек, претендующих на имя спеца по обработке изображений не понимают разницу между device-dependent bitmap и device-independent bitmap.
Пожалуй на следующее собеседование я все-таки приду с топором.

Posted by [identity profile] cynicanonimus.livejournal.com
#define J_TRUE 0
#define J_FALSE 1
#define NOT ||

"Страшно? А я так всю жизнь живу!" (с) "Слепая ярость".
Posted by [identity profile] cynicanonimus.livejournal.com
Касательно определения J_TRUE & J_FALSE - это фирменный код, не мальчиков с собеседования. На этом контракте пришлось выдавить из себя привычку писать:

if(variable)

и заменить ее на

if(variable == J_TRUE)

И только так.
Posted by [identity profile] nyurka.livejournal.com
Тогда уж
if(variable == J_FALSE) :))))
А для чего такую хню-то сделали???
От злобных арабских шпионов, чтоб код никто не прочел????
Posted by [identity profile] nyurka.livejournal.com
Точнее
if(variable != J_TRUE) :))))))))
Блин, надо своему навигационному начальнику, озабоченному секретностью, посоветовать :))
Posted by [identity profile] cynicanonimus.livejournal.com
///Тогда уж

Не канает. J_TRUE используется именно как утверждение истины по всему коду.

//А для чего такую хню-то сделали???

Есть такая корпорация - NEC... Продолжать?
Posted by [identity profile] nyurka.livejournal.com
Это типа, если результат без ошибок, то 0 ????
Вообще свежо, конечно.
А другого имени не нашлось?
Аж голова начинает болеть от вида одной строчки :)))
Posted by [identity profile] cynicanonimus.livejournal.com
//Это типа, если результат без ошибок, то 0 ????

Именно. Теперь понятно, почему я написал "Вы не знаете своего счастья"?

//Аж голова начинает болеть от вида одной строчки :)))

А у меня этого счастья - восемь мегабайт исходного текста. И Бангладор. Индусы. И сверху иногда использование

if (variable) как проверка НЕравенства. Они ж умные, они на специфическое значение дефайна посмотрели, они так пишут.

Так что целуй своих собеседуемых нежно, со всем пылом страсти, ибо придут они. Индусы. И ты поймешь, как шикарно ты жила, но будет поздно.
Posted by [identity profile] nyurka.livejournal.com
Прелесть-то какая :)))))
Блин, а я еще со своими проблемами :))
Я б с ума сошла через пару часов :))
Стойкий ты, однако.
Posted by [identity profile] cynicanonimus.livejournal.com
Вот. Чего только не сделаешь, для прокорма детей-то.
Posted by [identity profile] rsx11.livejournal.com
zero on success (и -1 on failure) - вполне себе принятая практика. Все (ну почти все) базовые юниксные syscalls так работают. Да и почти вся libc. Впрочем, с глобуса Windows это не всегда заметно...
Posted by [identity profile] nyurka.livejournal.com
Практика Windows во многих случаях такая же.
Претензия не в 0 как в успешности возврата, а в имени.
Смотреть на строку if(something == J_TRUE) и думать, что в данном случае TRUE это не TRUE, а 0 как NO_ERROR, у меня, например вызывает головную боль.
Можно придумать миллион названий, не связанных со стандартными именами, не?
Posted by [identity profile] sashf.livejournal.com
Мдяааа, лучше-б хотяб на манер кома сделали,
HRESULT variable, FAILED(variable),SUCCEDED(variable),S_OK (который тож кстати == 0x00000000)....;)
Так хоть нe ультимативный отказ или успех.
Или они статусы ексепшинами передавали? ;)

Posted by [identity profile] cynicanonimus.livejournal.com
//Или они статусы ексепшинами передавали? ;)
Плэин Си, однако.
(deleted comment)

on 2007-01-18 09:16 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Да неужели ж их учат так значение присваивать???
Или так память освобождать???
Или делать хренову тучу никому ненужной работы???
Что-то мне подсказывает, что это уже персональные извращения.

on 2007-01-18 10:58 am (UTC)
Posted by [identity profile] egorfine.livejournal.com
капец, кто ж нам софт завтра писать будет?

on 2007-01-18 11:10 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Хе-хе
Вот ты и будешь :))))))
Если не захочешь такое в коде увидеть :)))
И я буду :))))
Потому что если не буду - потом получу двойную работу за себя и за того парня :)))
А серьезно - с тех пор как наоткрывали курсов программирования (трехмесячных!!!) общий уровень программистов снизился раз в 10 :((((((

on 2007-01-18 11:15 am (UTC)
Posted by [identity profile] egorfine.livejournal.com
Ну дело в том, что такой программист не напишет модуль ядра или нейросеть или файловую систему или или. А все это нам надо будет, так вот кто будет это писать? нас с тобой маловато будет.

on 2007-01-18 11:15 am (UTC)
Posted by [identity profile] egorfine.livejournal.com
....т.е. я хочу сказать что на самом деле программисты где-то есть.

on 2007-01-18 11:23 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Есть, конечно, никто не говорит, что нет, просто, если раньше - даже года 4 назад - если я получала резюме программера, то в 90% это действительно был программер, то сейчас, если я получаю резюме и написано "программер" в 95% это мальчик после курсов, пару лет честно отсидевший где-нибудь в крупной конторе за написанием какого-нибудь одного модуля ну и решивший, что он в одиночку может потянуть систему :(((
Главное, что резюме что у программера, что у мальчика будет практически идентичным :(((

on 2007-01-18 11:25 am (UTC)
Posted by [identity profile] egorfine.livejournal.com
phone screening отфильтрует.

вот я уже научился выкупать по косвенным признакам резюме мальчиков, но это приходит с опытом, когда трафик резюме и собеседований - заметный. тогда моск сопоставляет резюме с видимым персонажем и на основе когнитивного диссонанса или наоборот эйфории делает выводы:)))

on 2007-01-18 11:36 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Я ж собеседования-то провожу, когда уже потенциальный претендент побеседовал как минимум с одним-двумя людьми :((( Они еще и отсеивают где-то половину, что из себя представляет эта отсеянная половина, я даже боюсь думать.
Не так все просто - эти ребята заучивают какие-то фразы что ли, не знаю, до того момента как начинается код все выглядит прекрасно. MSDN большинство из них знает на зубок, вот только пользоваться не умеют :((((
Есть, кстати, в ЖЖ несколько сообществ, где спрашивают - а что говорили там-то в такой-то конторе и идут уже с готовыми ответами :))

on 2007-01-18 11:39 am (UTC)
Posted by [identity profile] egorfine.livejournal.com
Вот поэтому Спольский и рекомендует просить кандидатов писать код.

Кстати, лучше бы тех. человек делал первый (ладно,второй) фильтр резюмешек - потому что HR служба нараз пропустит неряшливое резюме великолепного специалиста.

on 2007-01-18 12:02 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Сложно все это, и хороших спецов иногда пропускаем :((, и мальчиков на собеседованиях получаем.
как-то нам посоветовали - сделать что-то типа заданий - на листках, а потом уже только эти листки и проверять, для скорости.
В итоге взяли человека, которые не может написать диалоговое окно без Wizard-a, зато по ответам на листках был лучшим :)))))
Уволили, конечно через пару месяцев, но заплатили столько штрафов, что теперь я предпочитаю разговаривать лично, дешевле выходит.

on 2007-01-18 12:06 pm (UTC)
Posted by [identity profile] egorfine.livejournal.com
как все это знакомо.

on 2007-01-20 07:28 am (UTC)
Posted by [identity profile] rsx11.livejournal.com
Считать последнюю строку в стандартном текстовом файле размером 5-6 мега - разумеется надо сначала считать весь файл. Упростила - памятуя недавнюю fscanf-скую историю - все строки равны по размеру в байтах. Не помогло. 9 из 10 зубров упорно читают файл от начала до конца.

А що ви таки предлагаете?

Читать с конца (а на сколько далеко от конца отступить?) пока там newline не обнаружиться? Можно, но геморно. Более того, реализация lseek весьма далека от идеала, особенно на ext2/ext3. Так что, я бы пожалуй, предпочёл бы програмиста, который весь файл читает. Тем более, 5-6 мега, было бы о чём говорить. Вот если 5-6 гига, тогда можно и поизвращаться.

Хотя, конечно, если все строки равны, тогда дело другое...

on 2007-01-20 10:55 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
А получить размер файла в байтах, прикинуть хотя бы четверть от конца и не читать тупо весь файл как минимум, не?
А я бы считала первые 3-4 строки, получила среднее умножила на 2 и искала начало последней строки как размер файла минус полученное число. Если ничего не считалось - ту же цифру умножить еще на 2. Итд. В любом случае выйдет в десятки раз быстрее тупого чтения файлов от 1 до последнего байта.
Ну а если все строчки изначально по условию равны, читать с начала это вообще бред редкостный.
А 5-6 мега, если, например есть штук 30 файлов - баз данных для навигации, а именно для этого проекта искался человек - пока вы считываете все файлы с начала - а их же перед этим и раскодировать еще надо :)) - машина в Ливан уже уедет :))

on 2009-09-23 07:32 pm (UTC)
Posted by [identity profile] sparrowj.livejournal.com
/*А я бы считала первые 3-4 строки, получила среднее умножила на 2 и искала начало последней строки как размер файла минус полученное число. Если ничего не считалось - ту же цифру умножить еще на 2. Итд. В любом случае выйдет в десятки раз быстрее тупого чтения файлов от 1 до последнего байта.*/

в случае неравных длин строк может же быть первые 3-4 строки по 1му символу, а потом еще 10000 строк по 10000 символов... Как известно, минимальная единица ай/о операции - блок диска (точнее блок файловой системы), поэтому чтение блока диска с концом файла это минимальная ай/о издержка. Яб получил длину файла и размер блока диска, отсчитал бы размер блока с конца (если файл вообще больше блока) и искал бы там сначала (получилось бы 1 или 2 считаных блока взависимости от того как лежит на диске конец файла) поскольку 4кб это типичный размер блока, то вероятно последняя строка лежит в нем. В случае неудачи поиска придется отсчитать 2 блока с конца и повторить поиск (в этом случае с диска будет считан еще ровно 1 блок - хвост файла уже в кеше) итд.


/*Ну а если все строчки изначально по условию равны, читать с начала это вообще бред редкостный.*/

ну это да...
Posted by (Anonymous)
<gram|work> про индийский код
<gram|work> Какой самый извращенный способ проверить в условии if () булевскую переменную ?
<gram|work> bool b;
<gram|work> b = false;
<gram|work> if (b == true){...}
<gram|work> Это децкий лепет
<gram|work> ИТАК, ПЕРВОЕ МЕСТО
<gram|work> Знакомый говорит что нашел только что в коде:
<gram|work> if (b.ToString().length < 5){...}

http://bash.org.ru/quote.php?num=66390

Ещё один индусский код

on 2007-05-17 07:52 am (UTC)
Posted by [identity profile] o-st.livejournal.com
Оттуда же:

if (0 < -this.Position.Y) {...}

http://bash.org.ru/quote.php?num=224696
Posted by [identity profile] o-st.livejournal.com
Сам я перестал быть разработчиком довольно давно, ушёл в "администраторы" и сейчас пишу только скрипты, но какие-то знания остались :-)

На днях мимо меня прошло задание "по C++" для какого-то младшекурсника, выполненное программистом, всю жизнь работающим с Pascal-ем, занимаясь численными методами.
Динамического использования памяти в заданих не требовалось, просто использование некоторого количества структур данных и работа с ними.
Стиль - неотличим. Использование strlen() в циклах, где достаточно сместить указатель. Указатели используются только как аргументы функций. О модификаторе const, видимо, неизвестно вообще.

Во времена, когда GNU-fortran отсутствовал (речь не о Windows), и альтернативой были дорогущие компиляторы третьих фирм, схожие конструкции генерировал препроцессор f2c.

Я предполагаю, что человек, который использует такие конструкции, думает в концепциях какого-то другого языка программирования, а то, что получается в результате - это результат "подстрочного перевода". Автор не использует (или не понимает) ни идей языка на котором ему приходится писать, ни даже среды исполнения. Работает - и ладно.
Posted by [identity profile] nyurka.livejournal.com
Не, я все понимаю.
Человек 15 лет просидевший на Дельфи и решивший вдруг перейти на С, никуда от своих дельфийских привычек не денется, по крайней мере поначалу.
Но, блин, или ты ищи работу на Дельфи или - если уж пошел на С-шный путь - ну скажи ты честно, - да я спец, но по другому языку, перенять С для меня раз плюнуть, но нужно немного времени.
Многие так работают, учатся, потом переучиваются, отличные спецы.
НО - если человек пишет хню и - утверждая, что он классный спец -, просит 25 тыщ в месяц под предлогом того, что он такой зубр, что зубрее его не бывает - я - честное слово - даже не знаю что ему говорить.
И - если он не видит своих ошибок - чему он вообще может научится?????????????

on 2007-07-04 02:45 pm (UTC)
Posted by [identity profile] paskas.livejournal.com
#define TRUE FALSE //счастливой отладки суки

on 2007-12-11 03:53 pm (UTC)
Posted by [identity profile] denizzzka.livejournal.com
Или вот дан вам объект стандартного CString, назовем его str.
И дана какая-то строка char назовем ее buf.
Что вы сделаете, чтобы строка в str была равна строке в buf???
str = buf???????

===========

то что str = buf сработает не значит ведь что это правильно?

on 2007-12-11 04:02 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Вам в описание класса CString :)

тьфу, попутал :)

on 2007-12-11 04:05 pm (UTC)
Posted by [identity profile] denizzzka.livejournal.com
...с cstring (string.h)

Profile

nyurka: (Default)
nyurka

January 2013

S M T W T F S
   1 2345
6789101112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 22nd, 2026 10:55 pm
Powered by Dreamwidth Studios