Re[7]: Так что это за ходоки по собеседованиям?
От: cli  
Дата: 11.05.11 11:26
Оценка:
Здравствуйте, elmal, Вы писали:

E>Угу, вот только ты это все знаешь, и первый парень в провинции, а не знающий на гораздо более оплачиваемых и интересных проектов сидит в Канаде . Наверно он очень растроится, что в провинции его ничего не ждет, даж 20 тысяч рублей не дадут .


Это-то понятно, я говорил про провинцию. И вообще по слухам за МКАД'ом жизни нет.
Re[12]: Практики?
От: __kot2  
Дата: 11.05.11 11:29
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, __kot2, Вы писали:


__>>>>в фаре переименование делается ctrl+f7. глобальных переименований, то есть более чем в одном файле я делал разы за свою жизнь, хотя в фаре это тоже возможно.

CC>>>Ты понимаешь разницу между текстовым rename и rename в контексте языка?
CC>>>Простой пример: Есть у меня классы А и В. В обоих есть функция с именем например GetFoo
CC>>>Как мне в Far поменять имя этой функции по всем исходникам только для класса А? Но все вызовы GetFoo у инстансов класса В не должны быть этой операцией затронуты.
__>>я пишу так, что у меня текстовый rename всегда совпадает с rename в контексте языка. и стараюсь избегать идентификаторов которых сложной перебрать поиском
CC>Т.е. ты себе придумал такой codestyle. Сам себя загнал в такие рамки.
че вы так странно прицепились к тому, что я когда-то, примерно 10 лет назад написал в far'e, да mc пару проектов. ну да, написал. и нет никаких проблем. ни с переименованием, ни батник написать сборочный. вот скобки неудобно что не подсвечиваются закрывающие в фаре по дефолту, а так даже колорер меня больше путает, чем инфу дает, я никогда не меняю стандартную цветовую схему на Ассистовскую, она меня с толку сбивает, меня совершенно устраивает одна простая схема — все черным, служебные слова синим, строки красным. не парюсь я и не загоняю себя ни в какие рамки.
например, в xCode работать хуже, чем в фаре. почему? простой пример — скажите, поиск в xcode регистровозависимый или независимый?
Re[13]: Практики?
От: CreatorCray  
Дата: 11.05.11 11:35
Оценка:
Здравствуйте, __kot2, Вы писали:

__>че вы так странно прицепились к тому, что я когда-то, примерно 10 лет назад написал в far'e, да mc пару проектов. ну да, написал. и нет никаких проблем. ни с переименованием, ни батник написать сборочный. вот скобки неудобно что не подсвечиваются закрывающие в фаре по дефолту, а так даже колорер меня больше путает, чем инфу дает, я никогда не меняю стандартную цветовую схему на Ассистовскую, она меня с толку сбивает, меня совершенно устраивает одна простая схема — все черным, служебные слова синим, строки красным. не парюсь я и не загоняю себя ни в какие рамки.

Не прицепились, с чего ты взял.
Просто речь о том, что с нормальной поддержкой IDE писать и поддерживать код всё же заметно проще, чем с Colorer + find/replace.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: Так что это за ходоки по собеседованиям?
От: cli  
Дата: 11.05.11 11:35
Оценка:
Здравствуйте, elmal, Вы писали:

E>Пусть топчет . Если собеседование проводится таким образом, что его с большей вероятностью пройдет молодежь, то лучше посчитаться идиотом слабоумным и не пройти, чем пройти, а потом сидеть, разгребать дерьмо за копейки.


Затопчет следует понимать, как подвинет т.е. окажется более квалифицированной. Связи с говнокодом тут не просто нет, её не может быть в принципе.
Re[8]: Так что это за ходоки по собеседованиям?
От: elmal  
Дата: 11.05.11 11:36
Оценка:
Здравствуйте, cli, Вы писали:

cli>Это-то понятно, я говорил про провинцию. И вообще по слухам за МКАД'ом жизни нет.

Так надо поближе к МКАДу перебираться . А лучше вообще на буржуев напрямую работать. В этих случаях очень пересмотришь отношение к требуемой для программиста квалификации. Если повезет и попадешь в хорошее место, где можно чему то научиться, конечно.
Re[11]: Так что это за ходоки по собеседованиям?
От: elmal  
Дата: 11.05.11 11:48
Оценка: +1
Здравствуйте, b099ard, Вы писали:

YKU>>От ситуации очень зависит. ИМХО жёстких правил тут нет.

B>Первый вариант говнокод (два return) второй нет.
B>Я первым всегда пользуюсь
Я, кстати, первым тоже пользуюсь, причем сознательно. Так как тут хоть и 2 return, но меньше уровень вложенности и легче читается. И return здесь именно в самом верху, после проверки параметров, лично я считаю это допустимым.
А вот если уровней вложенности больше не становится, вот тут стараюсь чтоб число return было минимально, желательно один и в конце. Но я методы короткие пишу, не принципиально.
Re[7]: Практики?
От: Eugeny__ Украина  
Дата: 11.05.11 11:58
Оценка: 1 (1)
Здравствуйте, cli, Вы писали:


cli>Если нет других знаний кроме, как гуглить нужное решение и "втыкать" в него пол дня такой навык не достаточен для получения зарплаты.

cli>Или вы предлагаете платить только за то, что человек умеет пользоваться гуглом?

Если человек с помощью гугла решает задачу быстрее и лучше, чем "мегагуру" — то однозначно стоит платить. Даже если не быстрее, но в приемлимое — то платить, только меньше. Вам шашечки или ехать?

К слову, нестандартные задачи без гугла и серьезного обдумывания/исследования не решаются. Правда, такие редки в индусятниках, выдающих с конвеера иностранному заказчику тонны корпоративного говнокода.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[7]: Практики?
От: Eugeny__ Украина  
Дата: 11.05.11 12:01
Оценка: 4 (1) +4
Здравствуйте, cli, Вы писали:


cli>Мне лично проще на бумаге написать, чем за чужой ноут сесть, особенно под виндой.


А мне сам процесс написания на бумаге неприятен — я уже забыл, как это делать, и мне приходится больше усилий тратить на сам процесс написания, чем на обдумывание того, что я пишу: из приобретенных рефлексов умение писать ручкой уже выветрилось, приходится явно управлять выведением этих закорючек.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[12]: Так что это за ходоки по собеседованиям?
От: abch-98-ru Россия  
Дата: 11.05.11 12:16
Оценка:
P>Как же ты тогда не нарыл инфу, что она не из дефолт-сити?
нарыл, но позже )
P>Да вроде и не россиянка.
ну и ладно.
Re[2]: Так что это за ходоки по собеседованиям?
От: Eugeny__ Украина  
Дата: 11.05.11 12:20
Оценка:
Здравствуйте, visitor_pattern, Вы писали:


_>Самое прикольное, что этот вопрос есть ВО ВСЕХ гайдах "как пройти собеседование". И ладно бы ЭТО было так сложно — нет простейший алгоритм. Ладно бы спрашивали тонкости реализации (например как этот самый HashMap ведет себя при попытке изменения из разных потоков и почему так происходит) — нет просто схему.

_>Но так почему так мало людей которые знают?


Я вот в жизни не читал, и читать не собираюй гайдов по прохождению собесед. Мне совершенно неинтересно идти работать туда, где нужно для устройства читать гайды по собеседованиям — это абсурд.

Второй момент: как часто программисту нужно знать, что находится внутри HashMap? Я понимаю, бывают такие задачи, в особо узких местах может даже понадобится написать реализацию со своей хэш-функцией(например, мы знаем о ключе нечто больше, чем что он обжект, и можем, используя эти знания уменьшить количество коллизий). Но эти задачи в реале встречаются просто исчезающе редко, в подавляющем большинстве случаев просто используется Map. Да и изучить, как устроен HashMap не так сложно, если надо будет, это любой осилит за короткий срок.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[4]: Так что это за ходоки по собеседованиям?
От: Eugeny__ Украина  
Дата: 11.05.11 12:28
Оценка:
Здравствуйте, visitor_pattern, Вы писали:


_>Советую вам задуматься какова сложность алгоритма внутри HashMap и как можно его сломать сделав из HashMap LinkedList.


Сделать из HashMap LinkedList не получится просто потому, что я слабо представляю, как набор "ключ-значение" можно без потери структуры превратить в "упорядоченный набор значений".

_>И теперь если вы сможете ответить на этот вопрос наверное расскажете почему именно HashMap нельзя изменять из разных потоков, и что происходит если менять.


Как минимум, потому что в доке к классу прямым текстом написано:

* <p><strong>Note that this implementation is not synchronized.</strong>
* If multiple threads access a hash map concurrently, and at least one of
* the threads modifies the map structurally, it <i>must</i> be
* synchronized externally. (A structural modification is any operation
* that adds or deletes one or more mappings; merely changing the value
* associated with a key that an instance already contains is not a
* structural modification.) This is typically accomplished by
* synchronizing on some object that naturally encapsulates the map.


И только потом уже вопросы реализации.

_>Тут выше мыщъх очень верно подметил что нужно знать как устроен double что бы им пользоваться, так вот HashMap тот же случай.


Не совсем.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[9]: Практики?
От: Eugeny__ Украина  
Дата: 11.05.11 12:38
Оценка:
Здравствуйте, cli, Вы писали:


S>>Я предлагаю платить за то, что человек решает поставленные задачи по возможности без изобретения велосипедов и задействуя уже готовые решения. А уж с привлечение гуглов или медитации оно решено — без разницы.


cli>Разница есть в случае когда без гугла чел ни на что не способен.


У вас запрещен интернет на работе, что-ли?
Хотя так не бывает в жизни, чтобы с гуглом человек умел все, а без него — ничего, но если даже предположить, то я не вижу причин не брать такого на работу.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[6]: Так что это за ходоки по собеседованиям?
От: мыщъх США http://nezumi-lab.org
Дата: 11.05.11 12:46
Оценка:
Здравствуйте, b099ard, Вы писали:

B>Здравствуйте, мыщъх, Вы писали:


М>>или вот как объяснить, что логику нужно изначально отделять от интерефейса, причем, под интерфейсом понимается не только UI, но и API. в частности, если мы пишем функцию типа compress_data, то вызовы alert("critical error") нелепы, т.к. тут смешаны два уровня и что compress_data должна возврашать ошибку, обрабатываемую вызывающим ее кодом? C# программисты очень любят кидать исключения с текстовыми сообщениями и их сложно переубедить, что это не есть хорошо.


B>SEH для этого и есть, почему бы и нет ? Этому не учат в университетах, в книжках по конкретному языку это на рассматривается, а ассемблер мы не рассматриваем т.к. мы на нем не пишем.


никогда не видел SEH в таком смысле. речь про:
if (typeof XMLHttpRequest == "undefined")
XMLHttpRequest = function()
{
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch (e) { }
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch (e) { }
try { return new ActiveXObject("Microsoft.XMLHTTP") } catch (e) { }
try { return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { }
throw new Error("this browser does not support XMLHttpRequest.")
};

вот такой подход создает больше проблем, чем решает. если функция XMLHttpRequest возвратит нуль, сигнализируя об ошибке, то вызывающий код легко сможет попытаться переключиться на использование альтернативных методов, а если их нет -- выдать сообщение об ошибке на национальном языке, причем это будет не 'this browser does not support XMLHttpRequest' а что-то меннее заумное, понятное даже домохозяйке.

а вот что мне делать с исключениями типа этого? текстовое сообщение на экран я выдать не могу, т.к. пытаюсь обработать данную ситуацию. а кода ошибки у меня нет, т.е. мне нужно писать парсер текстовых сообщений. и в c# коде такие исключения выбрасываются даже функциями обработки данных (например, функцией сжатия), которые вообще не имеют никакого отношения к взаимодействию с пользователем.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[10]: Так что это за ходоки по собеседованиям?
От: Eugeny__ Украина  
Дата: 11.05.11 12:57
Оценка:
Здравствуйте, senglory, Вы писали:


cli>>Для нас откровение, что есть такой язык программирования, как ASP.NET и 1C. В вакансия могут писать любую ересь это не значит, что нужно сдвигать понятия в пользу рекрутеров.


S>Извините, в этом мире money talks, bullshit walks. Покуда их клиенты платят именно за такие объявления (и к слову сказать, программистам на 1С по моим наблюдениям платят повыше чем заумным С/C++-никам в массе своей), до тех пор имеет смысл сдвигаться именно в их сторону и смотреть на мир их глазами. Полезно, знаете ли, с финансовой точки зрения.


Ну, у них и доля непростая. Был у меня хитрый проектик, когда 1С надо было сдружить с кой-каким другим внешним функционалом, так вот насмотрелся — я за те деньги, что платят 1с-никам, даже очень хорошим, работать с этим убожеством не смогу. Ну а там каждому свое...
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[7]: Так что это за ходоки по собеседованиям?
От: b099ard  
Дата: 11.05.11 12:59
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, b099ard, Вы писали:


B>>Здравствуйте, мыщъх, Вы писали:


М>>>или вот как объяснить, что логику нужно изначально отделять от интерефейса, причем, под интерфейсом понимается не только UI, но и API. в частности, если мы пишем функцию типа compress_data, то вызовы alert("critical error") нелепы, т.к. тут смешаны два уровня и что compress_data должна возврашать ошибку, обрабатываемую вызывающим ее кодом?

label a:
C# программисты очень любят кидать исключения с текстовыми сообщениями и их сложно переубедить, что это не есть хорошо.

B>>SEH для этого и есть, почему бы и нет ? Этому не учат в университетах, в книжках по конкретному языку это на рассматривается, а ассемблер мы не рассматриваем т.к. мы на нем не пишем.


М>никогда не видел SEH в таком смысле. речь про:

М>if (typeof XMLHttpRequest == "undefined")
М> XMLHttpRequest = function()
М> {
М> try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch (e) { }
М> try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch (e) { }
М> try { return new ActiveXObject("Microsoft.XMLHTTP") } catch (e) { }
М> try { return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { }
М> throw new Error("this browser does not support XMLHttpRequest.")
М> };
А теперь goto a
Ну и где здесь c#???
Re[6]: Так что это за ходоки по собеседованиям?
От: landerhigh Пират  
Дата: 11.05.11 13:27
Оценка:
Здравствуйте, cli, Вы писали:

cli>Я бы тебя тоже на взял, понтов и шуму много, а реального "выхлопа" нет.


cli>Сокеты бывают SOCK_STREAM и SOCK_DGRAM, домены — AF_UNIX, AF_INET, AF_INET6, AF_ISO, AF_NS, AF_IPX, AF_APPLETALK и т.д.

Какие еще страшные слова ты знаешь?
Re[7]: Так что это за ходоки по собеседованиям?
От: b099ard  
Дата: 11.05.11 13:27
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, b099ard, Вы писали:


B>>Здравствуйте, мыщъх, Вы писали:


М>>>или вот как объяснить, что логику нужно изначально отделять от интерефейса, причем, под интерфейсом понимается не только UI, но и API. в частности, если мы пишем функцию типа compress_data, то вызовы alert("critical error") нелепы, т.к. тут смешаны два уровня и что compress_data должна возврашать ошибку, обрабатываемую вызывающим ее кодом? C# программисты очень любят кидать исключения с текстовыми сообщениями и их сложно переубедить, что это не есть хорошо.


B>>SEH для этого и есть, почему бы и нет ? Этому не учат в университетах, в книжках по конкретному языку это на рассматривается, а ассемблер мы не рассматриваем т.к. мы на нем не пишем.


М>никогда не видел SEH в таком смысле. речь про:

М>if (typeof XMLHttpRequest == "undefined")
М> XMLHttpRequest = function()
М> {
М> try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch (e) { }
М> try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch (e) { }
М> try { return new ActiveXObject("Microsoft.XMLHTTP") } catch (e) { }
М> try { return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { }
М> throw new Error("this browser does not support XMLHttpRequest.")
М> };

М>вот такой подход создает больше проблем, чем решает. если функция XMLHttpRequest возвратит нуль, сигнализируя об ошибке,

Никогда функция не возвратит нуль в случае ошибки, ибо throw... выкинет ее в cath уровнем выше.

то вызывающий код легко сможет попытаться переключиться на использование альтернативных методов, а если их нет -- выдать сообщение об ошибке на национальном языке, причем это будет не 'this browser does not support XMLHttpRequest' а что-то меннее заумное, понятное даже домохозяйке.

Нахрена домохозяйке твое сообщение об ошибке на ее родном языке???

М>а вот что мне делать с исключениями типа этого?


Сам написал — сам и думай.

М> , т.е. мне нужно писать парсер текстовых сообщений.

typeof XMLHttpRequest == "undefined" распарсил, а это распарсишь.

и в c# коде такие исключения выбрасываются даже функциями обработки данных (например, функцией сжатия), которые вообще не имеют никакого отношения к взаимодействию с пользователем.
А кто тебе сказал что это сообщение будет отображаться пользователю???
Может оно в лог пойдет или это только в pre релизе? Мне удобнее читать конкретные сообщения об ошибках чем придумывать коды ошибкам, а потом дешифровывать коды обратно в ошибки.
Тем более можно объявить конструктор для класса error с двумя параметрами и пиши во второй параметр что хочешь хоть
код ошибки, хоть перевод на родной язык
Re[15]: Практики?
От: Eugeny__ Украина  
Дата: 11.05.11 14:06
Оценка: +2 -1
Здравствуйте, cli, Вы писали:


cli>Сайтик из 3-х страничек за инет-магазин не считается, инет-магазин это где количество позиций идёт на тысячи-десятки тысяч и посещаемость от тысячи уников в сутки.


Как кореллирует количество страниц на сайте с количеством позиций?

Я больше скажу, как пользователь, самый удобный инет-магазин состоит пусть не из трех, но немногим более страниц:
1. Выбор товара(где слева фильтры, что ты хочешь, а справа — список товаров, попадающих под выбранные фильстры). Где-то в углу кратко об оплате и доставке.
2. Страничка подробного описания товара.
3. Страничка корзины и оформления заказа.
4. Страничка подтверждения заказа, все расписано подробно, указана результирующая сумма(с доставкой)
5. "О нас", где контакты и подробно условия доставки.

Итого, ровно 5 страниц. Если магазин торгует слишком разнообразными товарами, то будет еще страничка с выбором категории. Ну еще результаты текстового поиска.

Все, идеальный магазин. Что там еще писать? А уж сколько элементов в базе и посетителей — это дело к сложности ПО не имеет отношения.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[17]: Практики?
От: Eugeny__ Украина  
Дата: 11.05.11 14:14
Оценка:
Здравствуйте, cli, Вы писали:

cli> — заработная плата: 20000 — 35000 в зависимости от результатов

cli> собеседования (ваш случай, скорее всего 20000. Хотя... я про вас ничего
cli> не знаю, может вы гений . ЗП полностью белая.


cli> Обязанности:

cli> — разработка программного обеспечения, осуществляющего взаимодействие
cli> (получение данных, выдача команд) с различными устройствами
cli> радиационного контроля. Протоколы взаимодействия разнообразные:
cli> посредством тестовых файлов, разделяемой памяти, MODBUS RTU,
cli> базирующиеся на TCP/IP и т.д. Операционная система — Linux.[/i]


Что-то мне страшно, что на разработку ПО для взаимодействия с устройствами радконтроля нанимают людей на 20тр.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[16]: Практики?
От: cli  
Дата: 11.05.11 14:24
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>Как кореллирует количество страниц на сайте с количеством позиций?


В инет магазине по любому будут разные разделы и эти разные разделы будут иметь разную структуру, и эту структуру надо иметь возможность формировать через административную часть, перетасовывать и т.п. Т.е. то, что снаружи это только внешняя малая часть.
Далее, в инет магазинах цены и состояние склада синхронизированы, эту инфу нужно иметь возможность автоматом обновлять, пересчитывать и т.д. Вести историю покупателей, их скидок и т.п. Далее, чем больше посещаемость тем нужно детальнее продумывать реализацию т.к. вся структура формируется динамически и например кэширование может иметь приод обновления не более 5 минут. Сами страницы состоят из множества элементов которые из БД обычными селектами извлечь за приемлемое время нельзя, приходится натягивать на плоскую таблицы древовидную форму хранению и т.д. и т.п.

E__>Я больше скажу, как пользователь, самый удобный инет-магазин состоит пусть не из трех, но немногим более страниц:

E__>1. Выбор товара(где слева фильтры, что ты хочешь, а справа — список товаров, попадающих под выбранные фильстры). Где-то в углу кратко об оплате и доставке.
E__>2. Страничка подробного описания товара.
E__>3. Страничка корзины и оформления заказа.
E__>4. Страничка подтверждения заказа, все расписано подробно, указана результирующая сумма(с доставкой)
E__>5. "О нас", где контакты и подробно условия доставки.

E__>Итого, ровно 5 страниц. Если магазин торгует слишком разнообразными товарами, то будет еще страничка с выбором категории. Ну еще результаты текстового поиска.


Думаю вам нужно переслать свои мысли письмом в amazon.com, лучше заказным чтобы была уверенность в доставке. Уверен, они по достоинству оценят весь размах и силу вашей мысли в области интернет коммерции и web-девелопмента)

E__>Все, идеальный магазин. Что там еще писать? А уж сколько элементов в базе и посетителей — это дело к сложности ПО не имеет отношения.


Вам конечно виднее, вижу вы в этом разбираетесь.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.