Есть ли у вас хобби, связанные с программированием или инженерией?

«Есть ли у вас хобби, связанные с программированием или инженерией?» — вопрос из категории Софт-скиллы, который задают на 25% собеседований C/C++ Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Да, помимо основной работы, я увлекаюсь low-level программированием и компьютерной графикой. В качестве хобби-проекта я пишу небольшой софтверный рендерер на C++ с нуля, без использования графических API. Это помогает глубже понять линейную алгебру, оптимизацию вычислений и работу с памятью.

// Упрощенный пример проекции вершины в моем проекте
struct Vec3 { float x, y, z; };

Vec3 projectVertex(const Vec3& vertex, const Matrix4x4& viewProjMatrix) {
    Vec4 homogenousCoord = multiplyMatrixVector(viewProjMatrix, Vec4{vertex.x, vertex.y, vertex.z, 1.0f});
    // Перспективное деление
    if (homogenousCoord.w != 0.0f) {
        return {homogenousCoord.x / homogenousCoord.w,
                homogenousCoord.y / homogenousCoord.w,
                homogenousCoord.z / homogenousCoord.w};
    }
    return vertex;
}

Также интересуюсь embedded-разработкой на STM32, что поддерживает мои навыки работы с регистрами, прерываниями и bare-metal кодом.