Re[14]: Наболело...
От: Calc Россия  
Дата: 31.08.05 11:17
Оценка:
Здравствуйте, Smetanin, Вы писали:

S>Хыхы На самом деле я недавно резко сменил специализацию и программировать полностью прекратил. Теперь работаю вирусным аналитиком К кандидату на должность вирусного аналитика вопросы будут значительно "более другие" Зато, если есть желание — с графиком никаких проблем и стажёров брать вполне готовы, насколько мне известно.

Ну понятно что вопросы будут другие.
Сам набирал людей (точнее проверял, когда их мне приводили), занятие не из приятных.
Особенно когда задаешь конкретный (иногда) вопрос и хочешь получить на него хоть какой нибудь ответ, достаточно было бы и хода мыслей, но в ответ такие перлы лезли
Наврятли что либо получится, надо сначала первый курс института закончить, а там если лучше не станет на существующей работе можно будет думать что и как.

S>Ну, собственно, я там где-то выше и писал, что человек либо об iostream.h должен иметь представление, либо о stdio.h


Кстати если память не изменяет, то sprintf(cout, "%x", k); тоже должно работать
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Наболело...
От: ilya_ny  
Дата: 31.08.05 11:37
Оценка:
Здравствуйте, Gollum, Вы писали:

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


_>>а, вообще, программистам asp.net "потоки знать необязательно" — я согласен

_>>главное чтобы знали sql, html и javascript.

G>Ну да. А потом выясняется, что данные они хранят в appplication и длительные операции выполняют синхронно, а пользователь за подвисшим эксплорером нервно курит в сторонке.


я же написал про длительный расчет...

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


а для чего еще asp.net програмистам надо знать потоки ?
Re[4]: Наболело...
От: Calc Россия  
Дата: 31.08.05 11:38
Оценка:
Здравствуйте, raskin, Вы писали:

R>Во-первых сапёр не снайпер, во-вторых растяжка не из металла делается..

Вроде утро, а опечатки делаю.... Ужас...
Извиняюсь.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Наболело...
От: Gollum Россия  
Дата: 31.08.05 11:45
Оценка:
Здравствуйте, ilya_ny, Вы писали:

_>а для чего еще asp.net програмистам надо знать потоки ?


Это как у монти пайтонов.

REG: They've bled us white, the bastards. They've taken everything we had, and not just from us, from our fathers, and from our fathers' fathers.
LORETTA: And from our fathers' fathers' fathers.
REG: Yeah.
LORETTA: And from our fathers' fathers' fathers' fathers.
REG: Yeah. All right, Stan. Don't labour the point. And what have they ever given us in return?!
XERXES: The aqueduct?
REG: What?
XERXES: The aqueduct.
REG: Oh. Yeah, yeah. They did give us that. Uh, that's true. Yeah.
COMMANDO #3: And the sanitation.
LORETTA: Oh, yeah, the sanitation, Reg. Remember what the city used to be like?
REG: Yeah. All right. I'll grant you the aqueduct and the sanitation are two things that the Romans have done.
MATTHIAS: And the roads.
REG: Well, yeah. Obviously the roads. I mean, the roads go without saying, don't they? But apart from the sanitation, the aqueduct, and the roads--
COMMANDO: Irrigation.
XERXES: Medicine.
COMMANDOS: Huh? Heh? Huh...
COMMANDO #2: Education.
COMMANDOS: Ohh...
REG: Yeah, yeah. All right. Fair enough.
COMMANDO #1: And the wine.
COMMANDOS: Oh, yes. Yeah...
FRANCIS: Yeah. Yeah, that's something we'd really miss, Reg, if the Romans left. Huh.
COMMANDO: Public baths.
LORETTA: And it's safe to walk in the streets at night now, Reg.
FRANCIS: Yeah, they certainly know how to keep order. Let's face it. They're the only ones who could in a place like this.
COMMANDOS: Hehh, heh. Heh heh heh heh heh heh heh.
REG: All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a fresh water system, and public health, what
have the Romans ever done for us?
XERXES: Brought peace.
REG: Oh. Peace? Shut up!


Для того, чтобы их использовать ASP.NET — это не только html формочки к БД.
По всей Смоленщине нет кокаина — это временный кризис сырья
Eugene Agafonov on the .NET

Re[7]: Наболело...
От: Владислав Россия  
Дата: 31.08.05 12:07
Оценка: +1
Здравствуйте, SeRya, Вы писали:

SR>Но вообще-то, по моему мнению, по другому не выжить. Либо Вы развиваетесь, либо деградируете. Оставаться не месте, судя по личному опыту, не получается. "Нет времени" — это оправдание для неудачников


Любой программист развивается. Другой вопрос, в каком направлении. И направление это практически всегда задаёт твоя текущая работа.

SR>В том-то вся и беда — если кандидат в фундаментальных вопросах ноль, с вероятностью 99% таким и останется. В остальных вопросах он разбереться, а в этих — врядли. Острой необходимости ведь нет. Более того, вполне возможно, что 80% задач он может выполнять ничуть не хуже всех остальных. Но если вам приходится постоянно следить, не попалась ли ему задача из оставшихся 20%, то работать становится тяжело.


Зря вы так, если у человека на работе 20% задач связано с сортировками/поисками то он научится этому. В конце — концов не такой это объёмный материал.


SR>Иначе все равно через пару лет уйдет в IBM/Sub/Intel/Microsoft


Не советую, по моему, здесь больше возможностей для карьерного роста чем там.

Я посмотрел ваш сайт и понял что вас не переубедить. Я примерно в курсе чем занимается контора, в которой вы работаете. Да и финал ACM... Понимаю, что на собеседовании в вашей фирме спрашивают не только поверхносные знания сортировок, а много больше. Но это ваш хлеб, существуют фирмы в которых это на 99.9% просто ненужно, хватает хорошего знания stl.

SR>Лично мне просто обидно когда неграмотные люди называют себя профессионалами.


IT индустрия огромна, можно быть профессионалом в разных областях. Иногда хорошее знание реализаций сортировки Хоара и т.п. неотъемлемый атрибут профессионализма, иногда хватает умения вызывать std::sort и примерно знать как реализован std::map/std::set.

Вообщем, я уважаю ваше мнение, но остаюсь при своём.
Suum cuique (лат.)
Re[9]: Наболело...
От: lay  
Дата: 31.08.05 12:09
Оценка: 6 (2)
>> А вот фиг там :0)
>>
>> *int* main() {
R> return 0;
>> }
R>тогда уж.

А вот и нет. Если следовать стандарту С++, то достаточно
int main()
{
}

безо всяких return 0;

ISO/IEC 14882:2003(E) п. 3.6.1 Main function
...
All implementations shall allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
...

A return statement in main has the effect of leaving the main function (destroying any objects with automatic
storage duration) and calling exit with the return value as the argument. If control reaches the end
of main without encountering a return statement, the effect is that of executing
return 0;
...


Так что даже с базовыми знаниями не так все просто.
Re[10]: Наболело...
От: raskin Россия  
Дата: 31.08.05 13:18
Оценка:
lay wrote:
>> > А вот фиг там :0)
>> >
>> > *int* main() {
> R> return 0;
>> > }
> R>тогда уж.
>
> А вот и нет. Если следовать стандарту С++, то достаточно
> int main()
> {
> }
>
> безо всяких return 0;
А как Вы угадали, что речь не о С? А стандартный С++ — это язык, у
которого хоть один компилятор найти проблема. Я думал, что речь про С.
Ну и вообще после того, как некоторому администратору в МГУ удалось в
gcc/g++ на проге настроить не отключаемый (ещё не научились обходить
последний вариант) -Wall -Werror я (любитель Паскаль) предпочитаю на по
таким мелочам не подставляться (знаете, как обидно, когда
#include "dowork.h"
int main(int argc, char ** argv)
{    
    printf ("Result: %d.\n",countIt());
    return 0;
}

не компилируется?)
Posted via RSDN NNTP Server 2.0 beta
Re[8]: Наболело...
От: SeRya Россия http://home.onego.ru/~ryazanov/
Дата: 31.08.05 15:22
Оценка:
Здравствуйте, Владислав, Вы писали:

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


SR>>Но вообще-то, по моему мнению, по другому не выжить. Либо Вы развиваетесь, либо деградируете. Оставаться не месте, судя по личному опыту, не получается. "Нет времени" — это оправдание для неудачников


В>Любой программист развивается. Другой вопрос, в каком направлении. И направление это практически всегда задаёт твоя текущая работа.


Не любой. Примеров хватает. К сожалению...

SR>>В том-то вся и беда — если кандидат в фундаментальных вопросах ноль, с вероятностью 99% таким и останется. В остальных вопросах он разбереться, а в этих — врядли. Острой необходимости ведь нет. Более того, вполне возможно, что 80% задач он может выполнять ничуть не хуже всех остальных. Но если вам приходится постоянно следить, не попалась ли ему задача из оставшихся 20%, то работать становится тяжело.


В>Зря вы так, если у человека на работе 20% задач связано с сортировками/поисками то он научится этому. В конце — концов не такой это объёмный материал.


Среди фундаментальных знаний, которые, по моему мнению, отличают человека с высшим образованием от человека, окончевшего курсы по программированию, сортировка и поиск занимает не такой большой объем.

Дело не в самой сортировке. Если студент не знает того, что в его будущей профессии считается классикой, то возникает резонный вопрос: а чем же он все это время занимался? Вы можете представить себе литературоведа, не слышавшего про "Войну и мир"?

В>Я посмотрел ваш сайт и понял что вас не переубедить. Я примерно в курсе чем занимается контора, в которой вы работаете. Да и финал ACM... Понимаю, что на собеседовании в вашей фирме спрашивают не только поверхносные знания сортировок, а много больше. Но это ваш хлеб, существуют фирмы в которых это на 99.9% просто ненужно, хватает хорошего знания stl.


За всю фирму не скажу, но в нашем отделе как раз обычно спрашивают по тем областям, которые кандидат указал в резюме. А интервью в большей степени построено на решении задач. Но уж если кандидат может решить эти задачи, то какую-то там сортировку пузырьком дело совершенно плевое

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

SR>>Лично мне просто обидно когда неграмотные люди называют себя профессионалами.


В>IT индустрия огромна, можно быть профессионалом в разных областях. Иногда хорошее знание реализаций сортировки Хоара и т.п. неотъемлемый атрибут профессионализма, иногда хватает умения вызывать std::sort и примерно знать как реализован std::map/std::set.


В>Вообщем, я уважаю ваше мнение, но остаюсь при своём.


Под неграматными людьми я понимаю людей, которые не представляют что такое сортировка вообще. Умение пользоваться std::sort (а что там уметь-то?) и общее представление о ее применимости в повседневной жизни вполне достаточно. К тому же я считаю, что человек с высшим образованием (пусть даже неполным), называющий себя профессиональным программистом, должен быть в состоянии отсортировать массив хоть каким-нибудь методом (например, пузырьком) не обращаять к литературе и интернету.

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

К тому же знание самом по себе без глубокого понимания вообще не имеет значения. Как вы думаете, какие эмоции вызвал у меня кандидат, который реализовал в тестовом задании сортировку Шелла (кстати, O(n^1.56); а я-то этот метод почти окончательно забыл!) вместо того чтобы воспользоваться стандартным методом?
Re[11]: Наболело...
От: lay  
Дата: 31.08.05 15:49
Оценка: 1 (1)
Здравствуйте, raskin, Вы писали:

R>А как Вы угадали, что речь не о С? А стандартный С++ — это язык, у

R>которого хоть один компилятор найти проблема. Я думал, что речь про С.

Вообще-то в стандарте C99 написано ровно тоже.

ISO/IEC 9899:1999 (E)
5.1.2.2.1 Program startup
...
It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }

or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):

int main(int argc, char *argv[]) { /* ... */ }
...
5.1.2.2.3 Program termination
If the return type of the main function is a type compatible with int, a return from the
initial call to the main function is equivalent to calling the exit function with the value
returned by the main function as its argument;10) reaching the } that terminates the
main function returns a value of 0.


Найти компилятор полностью соответствующий стандарту C++ действительно проблема, но в данном случае речь не идет о чем то из ряда вон.
Re[12]: Наболело...
От: raskin Россия  
Дата: 31.08.05 16:26
Оценка:
lay wrote:
> R>А как Вы угадали, что речь не о С? А стандартный С++ — это язык, у
> R>которого хоть один компилятор найти проблема. Я думал, что речь про С.
>
> Вообще-то в стандарте C*99* написано ровно тоже.
Сейчас он, конечно, распространён. Но почему не заложиться на ANSI C
(C90). После одного года войн со всё улучшающейся защитой от -Wno-error
как-то считаю все компиляторы старыми unless explicitly stated.
Posted via RSDN NNTP Server 2.0 beta
Re[13]: Наболело...
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 31.08.05 18:07
Оценка:
Здравствуйте, Calc, Вы писали:

A>>У меня тоже дрогнула n*n конечно.

C>Подскажите мне пожалуйста.
C>qsort это не то, что делит масив на 2 части и сортирует с использованием рекурсии?
C>И не является ли это реализацией алгоритма "Разделяй и влавствуй"?
C>Столько раз о нем упоминули, сомнения замучили

Есть несколько алгоритмов рекурсивных.

Один из популярных сортировка слиянием. Делим на 2 части, сортируем каждую рекурсивно, сливаем 2 сортированных массива за линейное время.

Второй qsort, выбираем опорный элемент и все элементы больше него сваливаем в правую часть, а меньше в левую, после чего повторяем рекурсивно. Есть несколько модификаций по выбору опорного элемента.

У первого строго n*ln(n), у второго n*ln(n) в среднем, при плохом данных бывает n*n, но константа меньше поэтому пользуются обычно им.

Оба являются вариантом парадигмы Разделяй и Властвуй(алгоритмом она не является).
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[14]: Наболело...
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 31.08.05 18:24
Оценка:
Здравствуйте, DEMON HOOD, Вы писали:

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


ЯИ>>>Кстати идея — давать стажерам на собеседовании комп и задачку именно на поиск, ИМХО если умеет искать и главное знает где, то с работой у него проблем будет не много...


A>>Это неправда. Вернее найти может и можно, но не понятно как из остального найденного мусора вытащить.

DH>Я регулярно нахожу нужную мне информацию. Потому, что когда-то, где-то читал/слышал/делал.
DH>Работодателю не всё ли равно откуда работник черпает знания? Из своих мозгов, мозгов товарища, или гугля/мсдн/итд. если в итоге работу сделано?

Да ради бога находи. Но находить могут все программисты, а иногда(а у нас достаточно часто) бывают задачи где готового решения нету, нужно еще и мозгом пошевелить. Притом пошевелить поверх своих накопленных знаний. Почему бы это на собеседовании не проверить и не взять человека у которого мозг и знания в наличии?
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[14]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 18:32
Оценка:
Здравствуйте, Calc, Вы писали:

C>Страуструп — создатель языка.

C>Хошь, не хошь, а читировать придется.
цитирую
Автор: DEMON HOOD
Дата: 25.08.05
годится?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[4]: Наболело... сортировка
От: DEMON HOOD  
Дата: 31.08.05 18:32
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Чем скудней базовые знания, тем поиск в литературе менее результативен. Если что-то и найдешь, то навряд ли быстро поймешь. А пока поймешь — много времени пройдет. За это время человек с более общирными базовыми знаниями уже пять раз работу закончит.

_O_>Скажем, если я говорю человеку, что эту задачу надо решать динамическим программированием и он знает что это, то он говорит "Ага" и идет решать ее.
_O_>Отсюда вывод — нефиг забивать на базовые знания.

осталось определится какие знания базовые а какие нет.
здесь
Автор: Smetanin
Дата: 30.08.05
в жёлтом тексте ни слова о "динамическом программировании", автор текста не считает это базовым знанием, а ты вот считаешь.
Вот и выходит, что в одной конторе один набор требований к базовым знаниям, в другой = иной набор. И претенденту хошь не хошь нужно учить всё!
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[15]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 18:32
Оценка:
Здравствуйте, StatujaLeha, Вы писали:

DH>>Работодателю не всё ли равно откуда работник черпает знания? Из своих мозгов, мозгов товарища, или гугля/мсдн/итд. если в итоге работу сделано?


SL>Вот этому работадателю не все равно http://russian.joelonsoftware.com/Articles/TheJoelTest.html

SL>Так как он сидит рядом с Джефом, почему бы не спросить Джефа. Джеф отрывается от работы и теряет 15 минут продуктивной работы (чтобы сэкономить 15 секунд Мата).[/q]

Я писал, что товарищ, это человек сидящий на работе за соседним столом?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[10]: Наболело...
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 31.08.05 18:48
Оценка: 4 (1)
Здравствуйте, ggg, Вы писали:

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


A>>Кстати я вот о ней наслышан, хотя бы на уровне статей в Компьютерре.

A>>И мне это помогает, например понимать почему double lock работает только
A>>на intel платформе.

ggg>[offtop]

ggg>Будь добр, расскажи нам, что же такое double lock применительно к шине PCI. И почему он работает только на платформе Intel. Только конкретно, с примерами процессоров/микросхем системной логики.

ggg>Спрашиваю, потому что ни в Компьютерре, ни в google, ни в PCI Specification 2.3 ничего подобного не находится.

ggg>[/offtop]

Правильно оно называется "double checked locking". Будешь искать не смотри статьи про Java, там оно не работает в принипе по совершенно другим причинам.

Работает на Intel из-за особенностей устройства North Bridge в SMP архитектурах. На Intel машинах у процессоров по дизайну синхронизированная память, т.е. все процессоры сидят на одной шине и видят когда другие процессоры общаются с памятью и обновляют в этот момент кэши(кстати как раз это было в одной из недавних компьютер).

Не работает на других архитектурах на которых есть отдельная инструкция "Memory Barrier" который вручную синхронизирует кэш процессора.

Подробней можно почитать в книжке "Programming with Posix Threads".
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[15]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 19:13
Оценка:
Здравствуйте, Anatolix, Вы писали:

ЯИ>>>>Кстати идея — давать стажерам на собеседовании комп и задачку именно на поиск, ИМХО если умеет искать и главное знает где, то с работой у него проблем будет не много...


A>>>Это неправда. Вернее найти может и можно, но не понятно как из остального найденного мусора вытащить.

DH>>Я регулярно нахожу нужную мне информацию. Потому, что когда-то, где-то читал/слышал/делал.

A>Да ради бога находи. Но находить могут все программисты, а иногда(а у нас достаточно часто) бывают задачи где готового решения нету, нужно еще и мозгом пошевелить.


Речь шла изначально о базовых знаниях? О сортировке?
Если мне поставят задачу — "БД с нуля" Я буду читать про сортировки, потоковый IO, итп. Потом уже думать как это всё обьеденить в одну кучу.

A>Притом пошевелить поверх своих накопленных знаний. Почему бы это на собеседовании не проверить и не взять человека у которого мозг и знания в наличии?


Собеседование — блеф! Вы отбраковываете кучу отличных программистов!! Испытательный срок — вот то, что надо!!!
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[10]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 19:13
Оценка:
Здравствуйте, Pyromancer, Вы писали:

P>Какой же плюсовик без иострима? Эх, когда я на плюсах писал чуть ли не в каждой второй программе он был, а вы говорите "ненадобность" Это что же,бросить иострим и писать FILE*f=fopen(.., как в древних сях?Никогда!

есть ещё WINAPI
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[12]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 19:13
Оценка:
Здравствуйте, Smetanin, Вы писали:

S>>>1. Ориетироваться в ООП: наследование, полиморфизм, инкапсуляция — должны быть для него не абстрактые слова.

C>>Вам по бучу, Страуструпу или UML? (одно и тоже, но разными словами)

S>Ориентироваться, то есть понимать, что примерно слова эти значат. И всё.


ХА! Я это всё время талдычу а ты мне минусы лепишь!!! Забавно!!!!

S>Зачем зубрить-то? Не понял. Я вообще просто посмеялся над "отличник-зубрила", поскольку это, судя по всему, в мою сторону было обращено.

Телепат!
Обращено к отличникам-зубрилам. Бывают отличники-незубрилы. Я вот например имел в школе по химии, одни пятёрки, и при этом изучал химию только на уроках химии
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Re[14]: Наболело...
От: DEMON HOOD  
Дата: 31.08.05 19:13
Оценка:
Здравствуйте, Smetanin, Вы писали:

C>>Ну с консолью сложно, до сих пор выводу шестнадцатиричные числа через printf или sprintf , потому что консолью практически и не пользуюсь.

S>Ну, собственно, я там где-то выше и писал, что человек либо об iostream.h должен иметь представление, либо о stdio.h
почему должен? Есть куча областей где эти хидеры не используются!
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.