Re[4]: Пригласите меня к себе на собеседование!
От: AlexRK  
Дата: 24.04.18 14:51
Оценка: :))) :))) :))
Здравствуйте, AlexGin, Вы писали:

AG>>>6) Чем статический метод класса отличается от обычного метода?

RF>>Тем, что он выполняется для всех объектов этого класса при его вызове.

AG>Значит ли это, что если НЕТ НИ ОДНОГО объекта этого класса, что статический метод выполняться НЕ БУДЕТ?


На некоторых компиляторах будет, но медленно. Но вообще это undefined behavior.
Re[5]: Пригласите меня к себе на собеседование!
От: AlexGin Беларусь  
Дата: 24.04.18 15:09
Оценка: +1 -1
Здравствуйте, AlexRK, Вы писали:

AG>>>6) Чем статический метод класса отличается от обычного метода?

RF>>>Тем, что он выполняется для всех объектов этого класса при его вызове.

AG>>Значит ли это, что если НЕТ НИ ОДНОГО объекта этого класса, что статический метод выполняться НЕ БУДЕТ?


ARK>На некоторых компиляторах будет, но медленно. Но вообще это undefined behavior.


Шутка и юмор заценены...

P.S. Статический метод — это метод не принадлежащий ни одному из объектов (экземпляров) класса.
Он просто объявлен в пространстве имён данного класса. Фактически — это аналог глобальной функции (просто объявленной в составе класса).
Будет выполняться одинаково, вне зависимости от того, сколько экземпляров данного класса существует (или вообще не существует ни одного).
Отредактировано 24.04.2018 15:15 AlexGin . Предыдущая версия .
Re[5]: Пригласите меня к себе на собеседование!
От: TimurSPB Интернет  
Дата: 24.04.18 15:10
Оценка:
mgu>Оформляет в виде коллекции и приводит к строке по умолчанию?
Сортирует по востребованности на рынке, если резюме не нацелено на конкретного работодателя. Я бы python поставил перед delphi
Make flame.politics Great Again!
Re[6]: Пригласите меня к себе на собеседование!
От: snautSH Германия  
Дата: 24.04.18 15:30
Оценка: +1
AG>P.S. Статический метод — это метод не принадлежащий ни одному из объектов (экземпляров) класса.
AG>Он просто объявлен в пространстве имён данного класса. Фактически — это аналог глобальной функции (просто объявленной в составе класса).
AG>Будет выполняться одинаково, вне зависимости от того, сколько экземпляров данного класса существует (или вообще не существует ни одного).

и, как следствие не имеет контекста(ака ссылки на экземпляр класса), ну а далее всякие фабричные методы и фабрики
Re[9]: Пригласите меня к себе на собеседование!
От: Stanislav V. Zudin Россия  
Дата: 24.04.18 15:42
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Бонус вопрос: а что ваша функция вернет в случае ошибки?


Хе, а это уже тема часового доклада Александреску с последней C++ Russia
Автор: Nuzhny
Дата: 22.04.18
_____________________
С уважением,
Stanislav V. Zudin
Re[5]: Пригласите меня к себе на собеседование!
От: VladFein США  
Дата: 24.04.18 16:38
Оценка:
Здравствуйте, AlexRK, Вы писали:

AG>>Значит ли это, что если НЕТ НИ ОДНОГО объекта этого класса, что статический метод выполняться НЕ БУДЕТ?


ARK>На некоторых компиляторах будет, но медленно. Но вообще это undefined behavior.


Крокодилы летают время от времени, но очень, очень низко!

Re[6]: Пригласите меня к себе на собеседование!
От: snautSH Германия  
Дата: 24.04.18 16:57
Оценка:
VF>

Крокодилы летают время от времени, но очень, очень низко!


Цирк, выходит на арену конферансье: — А сейчас выступят летающие крокодилы!!!
Зал: — Да ну, фигня какая... Не бывает такого...
Тут на арену выбегает стадо крокодилов, бежит, бежит и... взлетает!!!
И начинает летать по кругу, только один маленький крокодильчик отстает
от всей банды. Зал в шоке...
Маленькая девочка в первом ряду, умиляясь, восклицает: — Ах, летающие
крокодильчики, как это прелестно!!!
А маленький крокодильчик подлетает к ней и говорит: — Эх, девочка, знала бы ты,
КАК НАС ТУТ ПИ$#ЯТ...

Re[7]: Пригласите меня к себе на собеседование!
От: AlexRK  
Дата: 24.04.18 17:08
Оценка:
Здравствуйте, snautSH, Вы писали:

SH>

SH>А маленький крокодильчик подлетает к ней и говорит: — Эх, девочка, знала бы ты,
SH>КАК НАС ТУТ ПИ$#ЯТ...


Цирк, выходит конферансье, объявляет:
— Смертельный номер, полет лошади из-под купола цирка!
Ведут хромую больную лошадь, поднимают на веревке под купол, сбрасывают вниз. Лошадь летит на арену, падает, ба-бах! Зал разражается аплодисментами. Лошадь с огромным трудом поднимается и говорит:
— КАК ЖЕ ВЫ ЗА$БАЛИ...
Re: Кем вы видите себя через 5 лет?
От: msorc Грузия  
Дата: 24.04.18 17:29
Оценка:
Сабж

Ну чтобы добраться до ньюансов компиляции, надо пройти сначала через отдел кадров
Re[8]: Пригласите меня к себе на собеседование!
От: alzt  
Дата: 24.04.18 19:05
Оценка:
Здравствуйте, AlexRK, Вы писали:

A>>А зачем вообще там i?


ARK>ИМХО, с i код гораздо нагляднее.


A>>Почему бы просто не написать:

A>>
A>>        unsigned long result = 2;
A>>        // Сэкономим пару итераций. 
A>>        for (; value>2; --value )
A>>            result *= value;
A>>


Для факториала i лишняя. Она просто там не нужна. С i может привычнее, но само определение факториала обычно даётся рекурсивно, поэтому более естественно писать его без использование итеративной переменной. Рекурсию в данном случае тоже можно использовать,т.к. о производительности речи не идёт.

ARK>Ну, тогда уж


ARK>
ARK>        unsigned long result = 1;
ARK>        for (; value; result *= value--);
ARK>


инкремент в выражениях лучше осторожно использовать. Есть разные стили, но это потенциальный источник ошибок, лучше отделить в отдельную операцию. Может while лучше использовать, если for непривычно выглядит.
И с result = 1 ТС уже поругали.
Re[9]: Пригласите меня к себе на собеседование!
От: alzt  
Дата: 24.04.18 19:08
Оценка:
Здравствуйте, VladFein, Вы писали:

ARK>>
ARK>>        unsigned long result = 1;
ARK>>        for (; value; result *= value--);
ARK>>


VF>Столько разговоров про факториал, и ни слова про переполнение...


Это проблема собеседований — непонятно что именно спрашивают. Спроектировать тип данных для вычисления факториала для хотя бы 500 совсем не тривиально, не говоря уже о производительности. И главное — зачем? Для среднестатистического программиста такой навык не требуется.
Re[10]: Пригласите меня к себе на собеседование!
От: VladFein США  
Дата: 24.04.18 19:21
Оценка:
Здравствуйте, alzt, Вы писали:

VF>>Столько разговоров про факториал, и ни слова про переполнение...


A>Это проблема собеседований — непонятно что именно спрашивают. Спроектировать тип данных для вычисления факториала для хотя бы 500 совсем не тривиально, не говоря уже о производительности. И главное — зачем? Для среднестатистического программиста такой навык не требуется.


Я это и не предлагаю; просто можно заметить, что в 64-битный unsigned long помещается только 20!, и дальше идти по циклу не стоит...
Re[11]: Пригласите меня к себе на собеседование!
От: alzt  
Дата: 24.04.18 20:32
Оценка:
Здравствуйте, VladFein, Вы писали:

A>>Это проблема собеседований — непонятно что именно спрашивают. Спроектировать тип данных для вычисления факториала для хотя бы 500 совсем не тривиально, не говоря уже о производительности. И главное — зачем? Для среднестатистического программиста такой навык не требуется.


VF>Я это и не предлагаю; просто можно заметить, что в 64-битный unsigned long помещается только 20!, и дальше идти по циклу не стоит...


Тогда можно предложить на шаблонах написать факториал и вначале функции вставить проверку, что если n>factorial<unsigned long>::max, то вернуть код ошибки, или даже исключение бросить.
Re[12]: Пригласите меня к себе на собеседование!
От: VladFein США  
Дата: 24.04.18 21:31
Оценка:
Здравствуйте, alzt, Вы писали:

A>>>Это проблема собеседований — непонятно что именно спрашивают. Спроектировать тип данных для вычисления факториала для хотя бы 500 совсем не тривиально, не говоря уже о производительности. И главное — зачем? Для среднестатистического программиста такой навык не требуется.


VF>>Я это и не предлагаю; просто можно заметить, что в 64-битный unsigned long помещается только 20!, и дальше идти по циклу не стоит...


A>Тогда можно предложить на шаблонах написать факториал и вначале функции вставить проверку, что если n>factorial<unsigned long>::max, то вернуть код ошибки, или даже исключение бросить.


Так а я о чём?
Один кандидат бросается, сморщив лоб, писать for цикл, а другой оговаривает тех задание: что возвращать, кто отвечает за проверку входных данных, exception vs error code, etc.
Понятно же что задание академическое. Если бы нужен был факториал — посмотрели бы в таблице.
Re[5]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 24.04.18 23:08
Оценка:
Здравствуйте, AlexRK, Вы писали:

SH>>>>Delphi это не язык программирования, это IDE, язык там Pascal


ARK>>>Нет, Delphi — это именно язык программирования, наряду с IDE. Никакого Pascal там нет.


mgu>>А вот и специалисты подтянулись. RussianFellow, мужайтесь!


ARK>Э... А в чем проблема, гражданин специалист? Вы не в курсе, что Delphi — это язык программирования?


Нет.
Re[5]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 24.04.18 23:21
Оценка:
Здравствуйте, Privalov, Вы писали:

P>В Шарпе примитивные типы являются объектами.

P>Не знаю, насколько это важно, пару раз пользовался чем-то таким:
P>string p = 25.ToString();

string -- это объект с поведением примитивного типа, это во многих яхыках так, в т. ч. и С++-ах с человеческим лицом.

P>Перегрузка операций опять же. Удобнее читать

P>int c = a + b;
P>чем
P>int c = a.add(b);

В Джаве есть плюс как сложение, от сотворения мира.

P>Исключения объявлять не надо. В Java меня порядком достал такой код:

P>
P>void MyCoolMethod(int a, int b) throws Exception
P>{
P>   int p;
   
P>   try
P>   {
P>       // 100500 строк кода
P>   }
P>   catch (Exception ex)
P>   {
P>   }
P>}
P>


Если блюёт исключениями, то оборачивать всю функцию в try/catch нэ надо.
Re[4]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 24.04.18 23:45
Оценка:
Здравствуйте, elmal, Вы писали:

mgu>>Блин, пойду повешусь. Ведь половины из всего этого я не знаю. Особенно какие отличия между C# и Java.

E>Отличия с практической точки зрения? Я не шарпист, но как минимум могу сказать про другие средства разработки, про другой Code Convention (и кстати Java convention мне больше нравится). Могу ошибаться, но для веб части шарп завязан на IIS, по крайней мере это было раньше, для Java вариантов миллион. У шарпа фич и синтаксического сахара гораздо больше, другие дженерики без erasure (это и достоинства и недостатки). С кроссплатформенностью есть ньюансы, раньше было завязано многое на решения от Microsoft, сейчас возможно все получше стало, но как на практике, это как раз от кандидата и хотелось бы услышать. И много чего еще. Кто не такой дилетант в шарпе, как я, тот до черта мог бы рассказать про системы сборки, про библиотеки, мог бы дать рекомендации и т.д.

Так вы уже практически всё и рассказали. Эти вопросы, скорее, к архитектору. А знания си-шарпа как языка -- это отличия класса от структуры и using от using.

mgu>>С таким набором вопросов удаётся кого-нибудь нанять, кроме студентов? Или это и есть способ нанимать работников за миску риса?

E>Проблем с набором нет, я всегда говорил что программистов избыток и найти человека вообще на проблема. Кстати, именно студентов набрать проблематично. Ибо уровень студента обычно — ужас ужас ужас. Хоть и значительно выше уровень, чем у топикстартера и даже зарплатные ожидания у них зачастую ниже, но толкового студента найти, у которого хотя бы базис есть, весьма проблематично. Брать выпускника технического ВУЗа программерской специальности не знающего что такое дерево (он умудрился проучиться не слышав про это, ответ был что то вроде это что то на первом курсе было, щас вообще не помню) вообще смысла нет. Даже если теоретический уровень хороший (таких мало и в основном за счет самообразования), зачастую куча гонора при отсутствии опыта перевешивают все плюсы.

Это да.

E>От копипаста отучать приходится, от операторов экскремента, от спагетти, от излишней переусложненности на ровном месте — это пройдет не один год пока детские болезни уйдут.


Эти болезни у многих хронические. Многие мои бородатые коллеги на мой глас вопиющего в пустыне по поводу всего вышеизложенного изрекают: "Так понятнее!"

E>Набор вопросов варьируется от того, что у человека в резюме. Первый вопрос — какие языки лучше всего знаете. И если человек знает с C# и Java, естественно будут подобные вопросы. Если человек на знает Java вообще или знает хреново, но знает хорошо Common Lisp, Python и т.д — вопросы будут другие. Взяли недавно питониста (а у нас pythonа нет, если что), по Java например вопросов практически не было, ибо я быстро увидел что смысла гонять нет, по существу опыта нет. Прекрасно работает, очень довольны, хоть и биг босса пришлось убеждать его брать, а он хотел его забраковать ибо кандидат Java не знает в достаточной мере.


А зачем приглашали питониста? Джавистов-то как собак нерезаных.
Re[7]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 24.04.18 23:59
Оценка:
Здравствуйте, RussianFellow, Вы писали:

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


RF>>> int res;


RF>>> if (n==0)

RF>>> res = 1;
RF>>> else
RF>>> {
RF>>> res = 1;

mgu>>Спасибо, мы вам перезвоним.


RF>Что, неправильный код?


Чуток избыточен.
Re[5]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 25.04.18 00:00
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>У меня нет опыта работы техническим писателем.


Предъявите свои труды на РСДН.
Re[6]: Пригласите меня к себе на собеседование!
От: mgu  
Дата: 25.04.18 00:20
Оценка:
Здравствуйте, AlexGin, Вы писали:

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

AG>Не надо передергивать, это разговорные языки.
AG>И за русским, и за английским стоит одна и та же сущность — разговорное (и письменное) общение между людьми.

А я и не передёргиваю: неоднократно встречал пациентов, которые в модных языках программирования все переменные объявляют в начале функции -- как в дореволюционном С.

AG>Поясню подробнее на примере:

AG>Есть C++ и C# (синтаксис весьма схожий, стеки технологий — различны):
AG> — разрабатывать систему документооборота будем на C# (со всеми сопутствующими технологиями: ADO.NET, WPF/WinForms/ASP.NET...);
AG> — для приложений real-time управления объектом, выберем C++ (с STL, boost, и к ним же Qt/MFC...).

Много раз ковырялся в проектах, где были замешаны C++ и C#. До сих пор СОМ в горле.

mgu>>Хочу сочную женщину, хочу рюмочку виски... что? технологию? Очередную перелицованную? Ах, оставьте! Пустое...

AG>Это нижний уровень потребностей.
AG>Курим:
AG>https://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D1%80%D0%B0%D0%BC%D0%B8%D0%B4%D0%B0_%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%D0%BF%D0%BE_%D0%9C%D0%B0%D1%81%D0%BB%D0%BE%D1%83



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