Re[14]: Типовые задачи на собеседованиях по программированию
От: __kot2  
Дата: 19.12.16 17:35
Оценка:
Здравствуйте, antonio_banderas, Вы писали:
_>Почему?
один тест тестирует одну вещь. а тут вычисление сразу ряда происходит.

если сказать "а ну и фиг с ним" и продолжить писать тесты в таком стиле, то это сделает тесты огромными и невменяемыми (парсинг аутпута — ну что может быть лучше? ). и вылазаит та проблема, на которую так любят жаловаться люди которые тысте не пишут — что писать их прихолится даже больше, чем кода
Re[15]: Типовые задачи на собеседованиях по программированию
От: antonio_banderas Россия  
Дата: 20.12.16 07:50
Оценка:
Здравствуйте, __kot2, Вы писали:

_>>Почему?

__>один тест тестирует одну вещь. а тут вычисление сразу ряда происходит.

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


Ок, парсинг аутпута это плохо.
А так, интуитивно — тестировать надо минимальную логическую единицу (функцию, блок, модуль) — цельную. Для тестов код — это черный ящик, они не должны знать, как он устроен внутри, и тем более полагаться на это.
С исходным примером это как посчитать — может минимальной логической единицей быть как решение задачи целиком, так и построчно (каждая строка не зависит от остальных).
Мне больше нравится решение целиком, типа, здесь строки независимы, а где-то могут быть и зависимы. Возможно, дело вкуса.
Да и в чем проблема финальную строку разбить в тестах на массив строк.
Re: Типовые задачи на собеседованиях по программированию с решениями
От: serj.e  
Дата: 02.03.17 21:57
Оценка: 5 (1)
Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.
Re[2]: Типовые задачи на собеседованиях по программированию с решениями
От: ArtK  
Дата: 15.03.17 10:47
Оценка:
Здравствуйте, nekocoder, Вы писали:

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


RF>>Коллеги, не могли бы вы подсказать, какие бывают типовые задачи на собеседованиях по программированию?


N>Есть посвященная как раз этому книга Cracking the Coding Interview.


Я бы сказал что это первый шаг, т.к. набить руку можно только пытаясь решить эти задачи. Для практики есть всякие leetcode и interviewbit
Re[2]: Типовые задачи на собеседованиях по программированию с решениями
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 19.04.17 13:27
Оценка: :)
Здравствуйте, serj.e, Вы писали:

SE>Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.


wchar *s; // эта строка
wchar  c1, c2;
int  n;

n = wstrlen(s);
for (i=0; i<n/2; i++)
{
    c1 = s[i];
    c2 = s[n-i-1];
    s[i] = c2;
    s[n-i-1] = c1;
}


Так что-ли?
1613 г. = 2024 г.
Re[3]: Типовые задачи на собеседованиях по программированию с решениями
От: AleksandrN Россия  
Дата: 20.04.17 09:27
Оценка:
Здравствуйте, RussianFellow, Вы писали:

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


SE>>Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.


RF>
RF>wchar *s; // эта строка
RF>wchar  c1, c2;
RF>int  n;

RF>n = wstrlen(s);
RF>for (i=0; i<n/2; i++)
RF>{
RF>    c1 = s[i];
RF>    c2 = s[n-i-1];
RF>    s[i] = c2;
RF>    s[n-i-1] = c1;
RF>}
RF>


RF>Так что-ли?


А с чего ты взял, что это код для переворота UTF-8?
Re[4]: Типовые задачи на собеседованиях по программированию с решениями
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 20.04.17 14:24
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>А с чего ты взял, что это код для переворота UTF-8?


Ну так для UTF-8 используется тип wchar, не так ли?
1613 г. = 2024 г.
Re[5]: Типовые задачи на собеседованиях по программированию с решениями
От: AleksandrN Россия  
Дата: 20.04.17 15:14
Оценка:
Здравствуйте, RussianFellow, Вы писали:

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


AN>>А с чего ты взял, что это код для переворота UTF-8?


RF>Ну так для UTF-8 используется тип wchar, не так ли?


Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.

https://ru.wikipedia.org/wiki/UTF-8
https://ru.wikipedia.org/wiki/UTF-16
https://ru.wikipedia.org/wiki/UTF-32
Re[6]: Типовые задачи на собеседованиях по программированию с решениями
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 16.05.17 10:51
Оценка:
Здравствуйте, AleksandrN, Вы писали:

RF>>Ну так для UTF-8 используется тип wchar, не так ли?


AN>Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.


Ну и как такая строка переворачивается?
1613 г. = 2024 г.
Re[7]: Типовые задачи на собеседованиях по программированию с решениями
От: AleksandrN Россия  
Дата: 16.05.17 12:28
Оценка:
Здравствуйте, RussianFellow, Вы писали:

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


RF>>>Ну так для UTF-8 используется тип wchar, не так ли?


AN>>Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.


RF>Ну и как такая строка переворачивается?


Вариант 1:
Конвертировать в UTF-16, перевернуть, конвертировать обратно.

Вариант 2:
Без конвертации в кодировку с фиксированной шириной символа. Это тебе домашнее задание. Когда сделаешь — выложи код.
Проверь свою функцию на строке:

Как успехи? おそらく、それはあなたのために難しいことではありませんでしたか?

Re[8]: Типовые задачи на собеседованиях по программированию с решениями
От: IID Россия  
Дата: 19.05.17 17:50
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Вариант 1:

AN>Конвертировать в UTF-16, перевернуть, конвертировать обратно.

Вариант не подходит к условиям: аллокации запрещены.
kalsarikännit
Re: Типовые задачи на собеседованиях по программированию с решениями
От: Ночной Смотрящий Россия  
Дата: 20.05.17 19:41
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>Коллеги, не могли бы вы подсказать, какие бывают типовые задачи на собеседованиях по программированию?


Если ты опять коллеге по лицу настучишь — один фик уволят. В трудовой то чего написали по поводу причины увольнения?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.