Здравствуйте, mgu, Вы писали:
mgu>Здравствуйте, RussianFellow, Вы писали:
RF>>Пусть даже будет "предвзятое" отношение, но я зато пойму, что я представляю собой как программист. Мне (на первых порах) хочется, чтобы меня прособеседовали люди, знающие меня по этому программистскому форуму, чем люди, которые вообще меня не знают.
mgu>Слушайте, а зачем вам в программисты? Языки программирования иожет освоить любой идиот, а вот писать грамотно по-русски хотя бы на уровне начальной школы дано только выдающимся умам. Не хотите попробовать себя в качестве технического писателя? Или составителя техзаданий? Тут только одна проблема -- найти интервьюера с начальным образованием.
Здравствуйте, Muxa, Вы писали:
RF>>Только одно "но": собеседование должно проводиться в выходные дни, так как я живу и работаю в Королёве.
M>А если в Королеве придешь в рабочий день?
Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20).
Здравствуйте, RussianFellow, Вы писали:
M>>А если в Королеве придешь в рабочий день?
RF>Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20).
Ты и в Москву на собеседование в 19:00 — 19:30 успеешь.
Здравствуйте, 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 тоже непонятно, а ещё она может вернуть ноль .
Здравствуйте, mgu, Вы писали:
mgu>Тогда сразу гоните в шею тех, кто владеет и русским, и английским. С такими скиллами ведь будут инсёртить английские ворды в русский спич.
Не надо передергивать, это разговорные языки.
И за русским, и за английским стоит одна и та же сущность — разговорное (и письменное) общение между людьми.
mgu>А что касается важного, то синтаксис конкретного языка явно не самое главное в программировании. Серьёзные проекты (тм) и не очень часто используют несколько языков.
Обычно, всё не так просто: в компьютерном мире за языком стоит такое понятие, как стек технологий.
Каждой семантической сущности компьютерного мира (читай — каждому прикладному направлению) присущ свой отдельный стек технологий.
Поэтому, как правило, одним знанием синтаксиса все-таки не обойтись
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, AleksandrN, Вы писали:
A>А зачем вообще там i? Почему бы просто не написать: A>
A> unsigned long result = 2;
A> // Сэкономим пару итераций.
A> for (; value>2; --value )
A> result *= value;
A>
Согласен. Так лучше.
A>Здесь проблема теста. Не было понятно зачем там strcpy и можно ли её удалять. Может в тесте надо продемонстрировать знание этой функции. Про strdup тоже непонятно, а ещё она может вернуть ноль .
Тест на понимание работы со строками и памятью и умение читать чужой код. Обычно, на собеседованиях, всегда спрашивают задачки типа "мы тут немножко наговнокодили, как можно исправить?". А я воспроизвёл этот подход. Такая задача оказалась посложнее, чем писать нормальный код для решения задачи.
M>>>А если в Королеве придешь в рабочий день? RF>>Только в обеденный перерыв (с 13 до 14). Или после 17:35. (В пятницу--после 16:20). AN>Ты и в Москву на собеседование в 19:00 — 19:30 успеешь.
Слишком поздно.
Мамка заругает.
Здравствуйте, 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
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>1. Написать функцию, принимающую на вход строку и переворачивающую её. AN>>Кодировка однобайтная.
vsb>Шо вы всё "однобайтная да однобайтная". А по-мне вопрос с UTF-8 куда интересней. И практичней, между прочим.
А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала. И как лучше — с дополнительным буфером или без него. И плавно перейти к отличиям между memmove() и memcpy().
Здравствуйте, AleksandrN, Вы писали:
AN>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.
Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.
AN>И плавно перейти к отличиям между memmove() и memcpy().
Здравствуйте, RussianFellow, Вы писали:
AN>>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.
RF>Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.
Здравствуйте, AlexGin, Вы писали:
AG>Здравствуйте, RussianFellow, Вы писали: AG>... RF>>Языки программирования, которые я знаю--C++ ...
AG>Навскидку несколько вопросов задам: AG>1) Чем ссылка отличается от указателя?
Указатель--адрес памяти, которую занимает переменная, а ссылка--своего рода псевдоним переменной, используется в нескольких случаях (один из них--получение адреса переменной).
AG>6) Чем статический метод класса отличается от обычного метода?
Тем, что он выполняется для всех объектов этого класса при его вызове.
AG>9) Как (не испльзуя никаких входных пареметров), вернуть из метода/функции более одного значения?
Функция должна возвращать структуру (или класс), полями которой и будут нужные нам возвращаемые значения.
Здравствуйте, RussianFellow, Вы писали:
AG>>6) Чем статический метод класса отличается от обычного метода?
RF>Тем, что он выполняется для всех объектов этого класса при его вызове.
Здравствуйте, RussianFellow, Вы писали:
RF>Здравствуйте, AleksandrN, Вы писали:
AN>>А это уже дополнительный вопрос, что нужно сделать, что бы с UTF-8 работала.
RF>Вроде бы функции с префиксом w (точные их имена не помню) подходят для работы с UTF-8-строками.
Неправильно. Эти функции работают с типом wchar_t. А для работы с UTF-8 используется char. wchar_t UTF-8
Подумай ещё раз.
AN>>И плавно перейти к отличиям между memmove() и memcpy().
RF>И в чём отличие?
Использование memmove безопасно, если области памяти, переданные функции как аргументы, пересекаются.
Здравствуйте, RussianFellow, Вы писали:
RF>Указатель--адрес памяти, которую занимает переменная, а ссылка--своего рода псевдоним переменной, используется в нескольких случаях (один из них--получение адреса переменной).
Нулевой (неинициализированный и установленный в нуль) указатель — вполне реальное явление.
Что соответствует ему в понятиях ссылок?
Что насчёт smart-указателей?
Как насчёт rvalue и lvalue ссылок?
Какое отношение выражения std::move(...) к ссылкам?
AG>>6) Чем статический метод класса отличается от обычного метода?
RF>Тем, что он выполняется для всех объектов этого класса при его вызове.
Значит ли это, что если НЕТ НИ ОДНОГО объекта этого класса, что статический метод выполняться НЕ БУДЕТ?
AG>>9) Как (не испльзуя никаких входных пареметров), вернуть из метода/функции более одного значения? RF>Функция должна возвращать структуру (или класс), полями которой и будут нужные нам возвращаемые значения.
+100500
Точнее сказать: возвращать экземпляр класса или структуры.
Возможны также случаи, когда возвращем пару, кортеж или коллекцию объектов.