Re[9]: Практики?
От: cli  
Дата: 08.05.11 07:29
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>"ты не мудри, ты пальцем покажи" (с).


Не хотелось на нетбуке такой объём ковырять, исключительно из-за уважения к вашему творческому наследию сейчас найду.
Re[7]: Практики?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.05.11 07:34
Оценка:
Здравствуйте, cli, Вы писали:

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


G>>Это заблуждение. В блокноте можно писать только если доступен REPL в языке, чтобы быстро проверить что там написано. Если вы пишите на java\c++\с# то без IDE на любом нетривиальном коде без документации и IDE — никуда.


cli>Вычеркните С++, очевидно писать под никсами без иксов на С++ вам не приходилось.

Приходилось, именно поэтому и говорю что без IDE — никуда.
Re[8]: Практики?
От: cli  
Дата: 08.05.11 07:38
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Приходилось, именно поэтому и говорю что без IDE — никуда.


Как же люди работают в vim, может дело в правильно настроенном /dev/hand?
Re[7]: Практики?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.05.11 07:40
Оценка: 1 (1) +1
Здравствуйте, __kot2, Вы писали:

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

G>>Это заблуждение. В блокноте можно писать только если доступен REPL в языке, чтобы быстро проверить что там написано. Если вы пишите на java\c++\с# то без IDE на любом нетривиальном коде без документации и IDE — никуда.
__>у меня например сейчас вижуал ассист не стоит, я и не парюсь по этому поводу. мне что он есть, что его нет, что в фаре код править, что в студии — с определенной скорости печати это просто без разницы становится.
Угу. Опиши последовательность действий по добавлению файла в проект в фаре и IDE. Сразу заметно будет.
Я говорю про написание программы, а не правку 10 строчек в паре файлов.

__>я спокойно отношусь к просьбам написать код на бумаге, так как на бумаге можно еще и нарисовать что-то графически как что будет устроено, но в всегда предпочту доску бумаге и считаю что в любой уважающей себя конторе собеседование должно проводиться именно с использованием доски, а не листочка или ноутбука.

Ну если надо написать рабочий код, то таки нужна полноценная среда разработки. Если требуется проиллюстрировать знание\понимание алгоритмов, то написание псевдокода на бумаге и рисование чегонить на доске может быть лучшим способом.
Re[9]: Практики?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.05.11 07:42
Оценка: +1 -1 :)
Здравствуйте, cli, Вы писали:

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


G>>Приходилось, именно поэтому и говорю что без IDE — никуда.

cli>Как же люди работают в vim, может дело в правильно настроенном /dev/hand?
Плохо работают. Производительность труда низкая. Человек вроде работает-работает, а делает мало.
Re[10]: Практики?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.05.11 07:43
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


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


G>>>Приходилось, именно поэтому и говорю что без IDE — никуда.

cli>>Как же люди работают в vim, может дело в правильно настроенном /dev/hand?
G>Плохо работают. Производительность труда низкая. Человек вроде работает-работает, а делает мало.

Но опять-таки от языка зависит. Если динамика, то разница небольшая. Если есть REPL или другой способ быстрой проверки, то вообще никакой.
Re[5]: Практики?
От: paccbet  
Дата: 08.05.11 07:47
Оценка:
Здравствуйте, мыщъх, Вы писали:


М>везет вам. вот по моей теме гуглить нечего. вот тут сейчас пишу одну функцию поиска в специфичном потоке данных. перерыл весь интернет -- глухо. никто этого еще не делал. не потому что это суперсложно, а потому что сильно специфично. во всех алгоритмах поиска исходная строка задана заранее, т.е. детерменирована. у меня же ситуация в стиле -- предположим, что этот символ 'f', тогда, согласно правилам кодирования, следующий символ должен быть 'o' и следующий за ним тоже 'o', а он ни фига не 'o'!!! но вот если предположить, что первый символ 'b', то следующий за ним будет не 'o', а 'a', а за ним 'z'. существующие реализации у конкурентов тупо перебирают все варианты, хотя и дураку ясно, что если не отматчилось foo, то не отматчиться и 'aaa' и все подстроки где второй и третий символ совпадают уже можно сразу отсечь. погуглите решение. убедитесь, что его нет. а задача есть (во всяком случае у меня).


Погуглите по "Статистический синтез при априорной неопределенности и адаптация информационных систем"
Re[7]: Практики?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.05.11 07:48
Оценка:
Здравствуйте, мыщъх, Вы писали:

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


G>>Регулярные выражения с помощью ДКА? Или я чего-то не понимаю?

М>регуряных выражений тут нету. есть отношения между символами. если символы Sk и Sk+1 в строке относятся так же как и символы Tn и Tn+1 подстроки в кодировке Z, то считаем, что они совпали и проверяем дальше. в частности, в foo два последних символа одинаковы, но первый и второй символ не равны. потому, если сравнение "сломалось" на третьем символе, мы отметаем aaa, pee, root, xxl и так далее. но одинаковость символов необязательно. если мы приняли первый символ за 'f' (чисто сделали такое предположение, кодировки мы не знаем и просто говорим -- хорошо, пусть это 'f'), тогда следующий символ декодируется по всем возможным кодировам сразу и если хоть в одной из них есть 'o', то третий символ декодируется уже по тем кодировкам в которых совпал второй символ. и если третий символ не совпадает ни в одной, то в тривиальном случае нужно делать "откат" к началу и проверять следующую искомую подстроку, например, 'xxl', но! поскольку первый символ не совпадает со вторым, то мы xxl даже и не проверяем. разумеется, "равенство" символов это частный случай. если в 'foo' совпали первые два символа, то 'abc' уже заведомо не совпадет, т.к. 'f' относится к 'o' иначе чем 'a' к 'b', т.к. 'a' и 'b' последовательные символы, а 'f' и 'o' нет. между ними дистанция разная. ну то есть можно себе вообразить кодировку в которой 'a' и 'b' не соседние, но в такой кодировке между ними должна быть таже самая дистанция как между 'f' и 'o'.

Ниче не понял... А какая задача вообще решается?
Re[10]: Практики?
От: cli  
Дата: 08.05.11 07:59
Оценка:
Здравствуйте, cli, Вы писали:

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


М>>"ты не мудри, ты пальцем покажи" (с).


По частям буду показывать, значит gcc версии 4.6, смотреть gcc-4.6.0/gcc/config/i386/i386.c

Там инфа про стоимость инструкций, где-то рядом должная быть инфа про совместимость oпкодов, сейчас ищу её.
Re[8]: Практики?
От: __kot2  
Дата: 08.05.11 08:11
Оценка:
Здравствуйте, gandjustas, Вы писали:
G>Угу. Опиши последовательность действий по добавлению файла в проект в фаре и IDE. Сразу заметно будет.
G>Я говорю про написание программы, а не правку 10 строчек в паре файлов.
я написал один достаточно крупный проект в mc, другой в фаре целиком. обычно когда так пишут, то компилируют батниками или makefile ами. никаких проблем.

__>>я спокойно отношусь к просьбам написать код на бумаге, так как на бумаге можно еще и нарисовать что-то графически как что будет устроено, но в всегда предпочту доску бумаге и считаю что в любой уважающей себя конторе собеседование должно проводиться именно с использованием доски, а не листочка или ноутбука.

G>Ну если надо написать рабочий код, то таки нужна полноценная среда разработки. Если требуется проиллюстрировать знание\понимание алгоритмов, то написание псевдокода на бумаге и рисование чегонить на доске может быть лучшим способом.
я сам себе доказал когда-то что можно писать и без среды разработки. тот кто думает по иному просто никогда так не пробовал. но да, конечно, в IDE чуток удобнее.
Re: Так что это за ходоки по собеседованиям?
От: Brutalix  
Дата: 08.05.11 08:21
Оценка:
Здравствуйте, o-an0nym0us-o, Вы писали:

OAO>* не знают тонкостей используемого языка и технологий

OAO>* плавают на деццких вопросах из основ computer science

Небось квик сорт надо было с закрытыми глазами написать на доске?
Re[9]: Практики?
От: Brutalix  
Дата: 08.05.11 08:30
Оценка: 1 (1) :)
Здравствуйте, cli, Вы писали:

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



повторяю вопрос "Почему бы, собственно, и нет? Или цель собеседователя — повые...ся?" другими словами:

А вам шашечки или ехать? кандидат "реально стоит в плане зарплаты" столько, насколько напищет программу которая требуется конторе. А пишет ли он из головы, гугля или медитацией занимается с человеческими жертвоприношениями — это дело десятое. Впрочем, про жертвоприношения не уверен, так что не настаиваю. Тут смотря кого он в жертву приносит. На этом форуме десятка два-три есть кого стоило бы
Re[5]: Практики?
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 08.05.11 08:32
Оценка:
Здравствуйте, cli, Вы писали:

cli>Если в голове пусто то интернет способен заполнить эту пустоту?

cli>Цели разные бывают, например выяснить сколько кандидат реально стоит в плане зарплаты, а не как хорошо он умеет гуглить.
Дык, в этом и фишка. "Стоит в плане зарплаты" определяется умением приносить компании прибыль, т.е. быстро и качественно решать конкретные задачи. И багов там минимум оставлять. Я, например, давно для себя понял, что в век гугла, StackOverflow, MSDN Forums и т.п. тупо бесполезно хранить в голове редкоиспользуемые премудрости синтаксиса и разные "частные случаи". Найти страницу обсуждения с мнениями 10 разных людей и дискуссией, что вышло из применения тех или иных подходов будет быстрее, чем сформулировать и протестировать один подход из 10 самому.
А внимание и память лучше тратить на глубокое понимание проблемы и поиск красивого и универсального решения, чтобы не переделывать все по 100 раз, вспоминая все новые и новые детали.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[6]: Практики?
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 08.05.11 08:40
Оценка:
Здравствуйте, cli, Вы писали:

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


М>>у меня же ситуация в стиле -- предположим, что этот символ 'f', тогда, согласно правилам кодирования, следующий символ должен быть 'o' и следующий за ним тоже 'o', а он ни фига не 'o'!!! но вот если предположить, что первый символ 'b', то следующий за ним будет не 'o', а 'a', а за ним 'z'. существующие реализации у конкурентов тупо перебирают все варианты, хотя и дураку ясно, что если не отматчилось foo, то не отматчиться и 'aaa' и все подстроки где второй и третий символ совпадают уже можно сразу отсечь. погуглите решение. убедитесь, что его нет. а задача есть (во всяком случае у меня). или вам никогда не приходилось решать нерешенные задачи? причем моя задача вовсе не из области сфероконей. более того, будучи решенной она представляет собой уникальное средство поиска строк в хз какой кодировке за время O(n) и при памяти O(1).


cli>Всё уже решено, смотреть исходники того же gcc.

GCC использует, по сути, graph covering. Т.е. вполне классическую оптимизационную задачу. В поисковых задачах оптимизационные подходы и связанная с ними эвристика будет плохо работать из-за неэпического масштаба базы, и, соответственно, неадекватных требований к памяти.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[5]: Практики?
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 08.05.11 08:46
Оценка:
Здравствуйте, мыщъх, Вы писали:

E>> Умение гуглить — ценнейший навык, которым обладают далеко не все. Вот это умение проверить

E>> в тысячу раз полезнее, чем спрашивать код пробела аль просить на бумажке какой нидь лисапед написать.
М>везет вам. вот по моей теме гуглить нечего. вот тут сейчас пишу одну функцию поиска в специфичном потоке данных. перерыл весь интернет -- глухо. никто этого еще не делал. не потому что это суперсложно, а потому что сильно специфично. во всех алгоритмах поиска исходная строка задана заранее, т.е. детерменирована. у меня же ситуация в стиле -- предположим, что этот символ 'f', тогда, согласно правилам кодирования, следующий символ должен быть 'o' и следующий за ним тоже 'o', а он ни фига не 'o'!!! но вот если предположить, что первый символ 'b', то следующий за ним будет не 'o', а 'a', а за ним 'z'. существующие реализации у конкурентов тупо перебирают все варианты, хотя и дураку ясно, что если не отматчилось foo, то не отматчиться и 'aaa' и все подстроки где второй и третий символ совпадают уже можно сразу отсечь. погуглите решение. убедитесь, что его нет. а задача есть (во всяком случае у меня). или вам никогда не приходилось решать нерешенные задачи? причем моя задача вовсе не из области сфероконей. более того, будучи решенной она представляет собой уникальное средство поиска строк в хз какой кодировке за время O(n) и при памяти O(1).
Надо смотреть на кодировку. Если "хз какая кодировка" это и в т.ч. регекспо-подобные вещи, можно подобрать контрпример, где линейного времени и постоянной памяти не будет по определению.
Сложно стопроцентно понять задачу по обрывочному описанию, но "если не отматчилось foo, ..." можно ускорить скользящим хэшем и деревом "непрошедших" последовательностей. См. исходники 7-zip, короче.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[3]: Так что это за ходоки по собеседованиям?
От: Brutalix  
Дата: 08.05.11 08:56
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


Ты имеешь ввдиду, что на не общедоступных сайтах и у хеадхантеров сидит народ который сделает все кучеряво за дешево?


Вообще, в качестве общего правила: из мест, где чрезмерно увлекаются "нематериальной мотивацией" более менее вменяемые люди достаточно быстро сваливают.
Re[5]: Так что это за ходоки по собеседованиям?
От: Brutalix  
Дата: 08.05.11 08:56
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>Никакого толку от этого не будет.

K>>это еще почему не будет. не согласен в корне, чушь.. будет еще как
I>ЗП не является признаком квалификации. количество денег зависит от того,

А от количества денег зависит контингент тех, кто придет на собеседование.
Re[11]: Практики?
От: cli  
Дата: 08.05.11 08:58
Оценка: :))) :)
Здравствуйте, cli, Вы писали:

cli>По частям буду показывать, значит gcc версии 4.6, смотреть gcc-4.6.0/gcc/config/i386/i386.c

cli>Там инфа про стоимость инструкций, где-то рядом должная быть инфа про совместимость oпкодов, сейчас ищу её.

Надоело ковырять сорцы gcc, в общем в памяти хранится таблица опкодов + информация о применимости их комбинаций, например в виде дерева. И всё, остальное очевидно. Что касается требования по памяти O(1) тут решения я назвать не могу.
Re[5]: Так что это за ходоки по собеседованиям?
От: elmal  
Дата: 08.05.11 09:00
Оценка: +5 -1 :)))
Здравствуйте, A.Lokotkov, Вы писали:

AL>А Вы сами сможете с ходу, не заглядывая в справку по API, ответить, чем HashMap отличается, скажем, от Hashtable или от TreeMap? Только честно.

Да это любой собеседующий сходу знает, тут мозгов много не надо. Десяток собеседований провел, и уже запомнил . Аль книжку по сертификации прочитал — эти порядки инициализации от зубов будут отскакивать. Вот только отступить от вопросника, и будет весело, сами собеседующий ни черта не знают. Например — постоянно спрашивают на собеседовании что такое дедлок, просят его искусственно сделать. Но я ни разу не слышал вопроса — вот в приложении случилось страшное, повисло все — ваши действия, как ловить будем? Вот задай такой вопрос самим интервьюерам — минимум 50% не ответят, так как на практике ни разу не сталкивались. А вот этот вопрос сугубо практический. Спрашивать надо не отличия мьютекса от монитора пль HashTable от HashMap, а то, а каком случае это применяется, нахрена этот класс нужен, какие альтернативы и тому подобное — ведь сами не знают, так как не применяли никогда. Вот дохрена народу знают все эти детали работы HashMap, но большинство из них понятия не имеют о том, когда эти классы хорошо применять, когда нет, и в результате черти какое спагетти лепят в коде на практике. Паттерны от зубов отскакивают, а внутри кода вся логика на if else, мыслить абстрактно вообще единицы умеют, не востребовано.
Особенно веселит ситуация, когда приходит резюме какого нидь гуру, с черти каким опытом. Паника по всей конторе — а что у такого спрашивать, никто не знает, все вопросы задали уже, тот, гад, ответил, а надо б еще, ибо денег до черта запросил, а чет как то хоть и ответил, но вопросы то ему задавали теж самые, что и студентам, и гуру хоть и ответил, но иной раз запинался. В результате находят самого упорного читателя книжек, и этот читатель книжек начинает докапываться до деталей, завалят вопросами этого гуру, довольные как слоны, раскусили шарлотана.
Re[3]: Практики?
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 08.05.11 09:05
Оценка: 1 (1) +1
Здравствуйте, cli, Вы писали:

cli>Дать ручку и бумагу есть очень здравый способ проверить, как работает у кандидата связь между память и руками, и опытом.

Хм. А почему тогда не дать туфли и проверить связь между ногами и опытом? Или семейники, и проверить связь между жопой и опытом? Вроде, программист головой работает, не?
cli>Знаете, как бывает раскидывают контролы на формы и считают себя программистами...
Если задача — написать GUI, то что еще делать? Интерфейс на миллиметровке чертить и button1.X = 1234 руками прописывать?

W>>Я бы просто развернулся и ушел, если бы мне в ультимативной форме предложили написать программу на клочке бумаги и не реагировали бы на доводы о usability и IDE.

cli>Может ещё доступ в инет?
А что в этом плохого? Вам слабо придумать уникальную задачку, которая будет проверять умение создавать элегантные решения? Вместо этого вы нагуглили "задачи для собеседования", скопировали что-то оттуда и боитесь, что кандидат скопирует оттуда же решение? Самому не смешно?

Назовите мне предметную область, я подкину вам задачу, где гугление без мозгов не поможет, а с умом ускорит решение.
От себя приведу пример. В один из своих проектов я решил добавить функцию AutoCompletion (типа IntelliSense в VisualStudio). Соответственно, понадобилось реализовать контрол "всплывающего List-box-а", который форвардил бы сообщения о нажатиях "обычных клавиш" связанному EditBox-у. Реализовывать весь контрол на WinAPI — долго и неэффективно. Реализация на C# передачи сообщений неочевидна, т.к. сообщения напрямую там практически не используются. Гугление выдало занимательную статейку, описывающую 10 ступеней, участвующих в обработке клавиатурных сообщений в Windows Forms. Соответственно, задача была решена быстро и красиво переопределением одного метода. Хранить же в голове все 10 функций, порядок их вызова и регулярно освежать эти знания "а вдруг понадобится", ИМХО, глупо. Понадобится — найду в течение 1 минуты. А внимание и соображалка ушли на создание "умного" алгоритма выборки имен по подстрокам с разными уровнями приоритета, позволяющего пользователю программы быстро найти искомое даже если он не помнит точного имени. А писал бы формалист, зазубривший маны — была бы "формально работающая" поделка, вся польза от которой ограничивалась бы дополнительной галочкой в Feature List.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.