Re[4]: Пригласите меня к себе на собеседование!
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.04.18 07:29
Оценка:
Здравствуйте, mgu, Вы писали:

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


RF>>Пусть даже будет "предвзятое" отношение, но я зато пойму, что я представляю собой как программист. Мне (на первых порах) хочется, чтобы меня прособеседовали люди, знающие меня по этому программистскому форуму, чем люди, которые вообще меня не знают.


mgu>Слушайте, а зачем вам в программисты? Языки программирования иожет освоить любой идиот, а вот писать грамотно по-русски хотя бы на уровне начальной школы дано только выдающимся умам. Не хотите попробовать себя в качестве технического писателя? Или составителя техзаданий? Тут только одна проблема -- найти интервьюера с начальным образованием.


У меня нет опыта работы техническим писателем.
1613 г. = 2024 г.
Re[2]: Пригласите меня к себе на собеседование!
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.04.18 07:31
Оценка:
Здравствуйте, Muxa, Вы писали:

RF>>Только одно "но": собеседование должно проводиться в выходные дни, так как я живу и работаю в Королёве.


M>А если в Королеве придешь в рабочий день?


Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20).
1613 г. = 2024 г.
Re[3]: Пригласите меня к себе на собеседование!
От: AleksandrN Россия  
Дата: 24.04.18 07:48
Оценка:
Здравствуйте, RussianFellow, Вы писали:

M>>А если в Королеве придешь в рабочий день?


RF>Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20).


Ты и в Москву на собеседование в 19:00 — 19:30 успеешь.

Расписание электричек
Re[6]: Пригласите меня к себе на собеседование!
От: alzt  
Дата: 24.04.18 07:53
Оценка: +1
Здравствуйте, AleksandrN, Вы писали:

AN>Нет проверки корректности входных условий. Использован знаковый тип, поэтому на входе может быть -1.


AN>Я бы сделал чуть по другому.

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


А зачем вообще там i? Почему бы просто не написать:
        unsigned long result = 2;
        // Сэкономим пару итераций. 
        for (; value>2; --value )
            result *= value;



AN>Но ещё лучше так:

AN>
AN>    unsigned long a = 1234567;
AN>    // Что здесь происходит, можешь объяснить?
AN>    const char *s = "Hello world!";

AN>    printf( "Data: %lu %s; address: %p\n", a, s, s );
AN>


Здесь проблема теста. Не было понятно зачем там strcpy и можно ли её удалять. Может в тесте надо продемонстрировать знание этой функции. Про strdup тоже непонятно, а ещё она может вернуть ноль .
Re[5]: Пригласите меня к себе на собеседование!
От: AlexGin Беларусь  
Дата: 24.04.18 08:13
Оценка:
Здравствуйте, mgu, Вы писали:

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

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

mgu>А что касается важного, то синтаксис конкретного языка явно не самое главное в программировании. Серьёзные проекты (тм) и не очень часто используют несколько языков.

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

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

ЭФ>>2) Не знает чего хочет (какую технологию).


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

Это нижний уровень потребностей.
Курим:
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
Отредактировано 24.04.2018 8:19 AlexGin . Предыдущая версия .
Re[7]: Пригласите меня к себе на собеседование!
От: AleksandrN Россия  
Дата: 24.04.18 08:16
Оценка:
Здравствуйте, alzt, Вы писали:

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


A>А зачем вообще там i? Почему бы просто не написать:

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


Согласен. Так лучше.

A>Здесь проблема теста. Не было понятно зачем там strcpy и можно ли её удалять. Может в тесте надо продемонстрировать знание этой функции. Про strdup тоже непонятно, а ещё она может вернуть ноль .


Тест на понимание работы со строками и памятью и умение читать чужой код. Обычно, на собеседованиях, всегда спрашивают задачки типа "мы тут немножко наговнокодили, как можно исправить?". А я воспроизвёл этот подход. Такая задача оказалась посложнее, чем писать нормальный код для решения задачи.
Re[4]: Пригласите меня к себе на собеседование!
От: Muxa  
Дата: 24.04.18 08:26
Оценка:
M>>>А если в Королеве придешь в рабочий день?
RF>>Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20).
AN>Ты и в Москву на собеседование в 19:00 — 19:30 успеешь.
Слишком поздно.
Мамка заругает.
Re[7]: Пригласите меня к себе на собеседование!
От: AlexRK  
Дата: 24.04.18 08:35
Оценка:
Здравствуйте, alzt, Вы писали:

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


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

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

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


Ну, тогда уж

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


Re: Пригласите меня к себе на собеседование!
От: AlexGin Беларусь  
Дата: 24.04.18 10:03
Оценка:
Здравствуйте, RussianFellow, Вы писали:
...
RF>Языки программирования, которые я знаю--C++ ...

Навскидку несколько вопросов задам:
1) Чем ссылка отличается от указателя?
2) Для чего нужны smart-указатели?
3) Чем NULL отличеается от nullptr?
4) Что и куда перемещеат выражение: std::move(...)?
5) Чем функтор отличается от лямбда функции?
6) Чем статический метод класса отличается от обычного метода?
7) Может ли статический метод быть виртуальным?
8) Может ли статический метод быть перегруженным?
9) Как (не испльзуя никаких входных пареметров), вернуть из метода/функции более одного значения?

RF>Только одно "но": собеседование должно проводиться в выходные дни, так как я живу и работаю в Королёве.

Я из Минска, поэтому только могу подкинуть пару полезных ссылочек:
https://habrahabr.ru/post/117996
http://www.quizful.net/interview/cpp
Re[4]: Пригласите меня к себе на собеседование!
От: vsb Казахстан  
Дата: 24.04.18 10:28
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>1. Написать функцию, принимающую на вход строку и переворачивающую её.

AN>Кодировка однобайтная.

Шо вы всё "однобайтная да однобайтная". А по-мне вопрос с UTF-8 куда интересней. И практичней, между прочим.
Re[5]: Пригласите меня к себе на собеседование!
От: AleksandrN Россия  
Дата: 24.04.18 10:36
Оценка:
Здравствуйте, vsb, Вы писали:

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


AN>>1. Написать функцию, принимающую на вход строку и переворачивающую её.

AN>>Кодировка однобайтная.

vsb>Шо вы всё "однобайтная да однобайтная". А по-мне вопрос с UTF-8 куда интересней. И практичней, между прочим.


А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала. И как лучше — с дополнительным буфером или без него. И плавно перейти к отличиям между memmove() и memcpy().
Re[8]: Пригласите меня к себе на собеседование!
От: VladFein США  
Дата: 24.04.18 11:38
Оценка: +2
Здравствуйте, AlexRK, Вы писали:

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


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


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

P.S. Поскольку в 64 бита влезет только 20!, я бы имел таблицу из двадцати елементов + проверка параметра.

Бонус вопрос: а что ваша функция вернет в случае ошибки?
Отредактировано 24.04.2018 11:44 VladFein . Предыдущая версия .
Re[6]: Пригласите меня к себе на собеседование!
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.04.18 13:25
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.


Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.

AN>И плавно перейти к отличиям между memmove() и memcpy().


И в чём отличие?
1613 г. = 2024 г.
Re[7]: Пригласите меня к себе на собеседование!
От: vsb Казахстан  
Дата: 24.04.18 13:28
Оценка:
Здравствуйте, RussianFellow, Вы писали:

AN>>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.


RF>Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.


Нет.
Re[2]: Пригласите меня к себе на собеседование!
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.04.18 13:33
Оценка:
Здравствуйте, AlexGin, Вы писали:

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

AG>...
RF>>Языки программирования, которые я знаю--C++ ...

AG>Навскидку несколько вопросов задам:

AG>1) Чем ссылка отличается от указателя?

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

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


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

AG>9) Как (не испльзуя никаких входных пареметров), вернуть из метода/функции более одного значения?


Функция должна возвращать структуру (или класс), полями которой и будут нужные нам возвращаемые значения.
1613 г. = 2024 г.
Re[3]: Пригласите меня к себе на собеседование!
От: AlexRK  
Дата: 24.04.18 13:36
Оценка: +3
Здравствуйте, RussianFellow, Вы писали:

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


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


Эээ... шо?
Re[7]: Пригласите меня к себе на собеседование!
От: AleksandrN Россия  
Дата: 24.04.18 14:12
Оценка:
Здравствуйте, RussianFellow, Вы писали:

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


AN>>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.


RF>Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.


Неправильно. Эти функции работают с типом wchar_t. А для работы с UTF-8 используется char.
wchar_t
UTF-8

Подумай ещё раз.

AN>>И плавно перейти к отличиям между memmove() и memcpy().


RF>И в чём отличие?


Использование memmove безопасно, если области памяти, переданные функции как аргументы, пересекаются.
Отредактировано 24.04.2018 14:14 AleksandrN . Предыдущая версия .
Re[3]: Пригласите меня к себе на собеседование!
От: snautSH Германия  
Дата: 24.04.18 14:17
Оценка: +2 :)
RF>Тем, что он выполняется для всех объектов этого класса при его вызове.

еще разок в вики глянь, это бред полнейший
Re[3]: Пригласите меня к себе на собеседование!
От: snautSH Германия  
Дата: 24.04.18 14:18
Оценка:
RF>Функция должна возвращать структуру (или класс), полями которой и будут нужные нам возвращаемые значения.

только наверно экземпляр, а не класс
Re[3]: Пригласите меня к себе на собеседование!
От: AlexGin Беларусь  
Дата: 24.04.18 14:46
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>Указатель--адрес памяти, которую занимает переменная, а ссылка--своего рода псевдоним переменной, используется в нескольких случаях (один из них--получение адреса переменной).


Нулевой (неинициализированный и установленный в нуль) указатель — вполне реальное явление.
Что соответствует ему в понятиях ссылок?

Что насчёт smart-указателей?

Как насчёт rvalue и lvalue ссылок?
Какое отношение выражения std::move(...) к ссылкам?

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


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

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

AG>>9) Как (не испльзуя никаких входных пареметров), вернуть из метода/функции более одного значения?

RF>Функция должна возвращать структуру (или класс), полями которой и будут нужные нам возвращаемые значения.
+100500
Точнее сказать: возвращать экземпляр класса или структуры.
Возможны также случаи, когда возвращем пару, кортеж или коллекцию объектов.
Отредактировано 24.04.2018 16:30 AlexGin . Предыдущая версия . Еще …
Отредактировано 24.04.2018 15:03 AlexGin . Предыдущая версия .
Отредактировано 24.04.2018 14:48 AlexGin . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.