За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложиться на…
Недавно на Хабре проскакивала новость о Magnit Tech++ Meet Up, и в ней упоминалась задачка, которая меня заинтересовала. В оригинале задачка формулируется так:Определена функция с сигнатурой:void do_something(bool a, int b, std::string_view c)Определить функцию, принимающую в произвольном порядке…
LDM — или load multiple — моя любимая инструкция в ассемблере для ARM. Вот почему. Во-первых, что она делает. Вот пример: ldm r4, {r0, r1, r2, r3} Здесь она принимает базовый регистр (в данном случае r4) и набор регистров (в данном случае {r0, r1, r2, r3}). Загружает последовательные слова из адреса в базовом регистре в регистры из набора. Действие инструкции можно продемонстрировать с помощью такого C-подобного псевдокода: r0 = r4[0]; r1 = r4[1]; r2 = r4[2]; r3 = r4[3]; Читать дальше →
За последние несколько лет я видел много дискуссий о функциях Kotlin. Среди обсуждаемых тем обнуляемость всегда в первых рядах. Мне она нравится, но это определенно не моя любимая функция. Больше всего в Kotlin мне нравятся некоторые мелкие особенности, благодаря которым язык…