Этап 1 из 15 · ≈ 6 ч

Числа и кодировки

Основа с Junior

Дополнительный код и переполнение, плавающая точка, деньги, битовые операции, Unicode и UTF-8.

Что важно знать

  • Целые числа фиксированного размера переполняются молча.
  • Двоичная дробь не представляет 0.1 точно — деньги во float не хранят.
  • Длина строки в символах и в байтах — разные числа.

Критерии освоения

Junior ≈ 6 ч

  • Объясняет, как хранятся отрицательные числа и что происходит при переполнении
  • Объясняет, почему 0.1 + 0.2 не равно 0.3, и хранит деньги в целых или десятичных типах
  • Отличает Unicode от UTF-8 и не путает символы с байтами при работе со строками

Практика. Найти в своём проекте все места, где деньги считаются во float, и перевести их на целые копейки или десятичный тип с тестами на округление.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Как в компьютере хранятся отрицательные целые числа?Junior

Почти везде — дополнительный код (two's complement): старший бит отрицательный, его вес −2ⁿ⁻¹.

Полный разбор
Что происходит при переполнении целого числа?Junior

Результат не влезает в разрядность — в Java, Go, C# он молча заворачивается по модулю 2ⁿ: MAX_VALUE + 1 = MIN_VALUE.

Полный разбор
Почему 0.1 + 0.2 не равно 0.3?Junior

double хранит число как двоичную дробь: знак, порядок и 52 бита мантиссы. 0.1 в двоичной системе бесконечна, как 1/3 в десятичной, — хранится приближение.

Полный разбор
Как хранить денежные суммы в коде и в базе?Junior

Деньги — в целых минимальных единицах (копейках) или в десятичном типе: BigDecimal, Decimal, NUMERIC в базе. Не в double.

Полный разбор
Какие битовые операции вы знаете и где они применяются?Junior

AND &, OR |, XOR ^, NOT ~, сдвиги << и >> работают с каждым битом отдельно и стоят один такт.

Полный разбор
Чем Unicode отличается от UTF-8?Junior

Unicode — таблица: каждому символу номер (кодовую точку), U+0416 — «Ж». UTF-8 — способ записать эти номера байтами.

Полный разбор

← Вся карта «Backend-разработчик»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования