На эту тему у меня есть имхо шикарная история из тех же времен, когда я работал тем самым «инженером-программистом».
На моей кафедре (напоминаю, что я ИБ-шник по образованию) в какой-то момент стали студентов сразу учить C#, вместо Си и ассемблера, который учили мы. Так как кафедра у нас ИБ-шная, то и задачи в курсовых работах даже по программированию были с ИБ-шной спецификой. То есть всякие алгоритмы шифрования, хеширования и прочего (например, я на первом курсе программировал, как сейчас помню, кодировку Quoted Printable, а на третьем - генератор псевдослучайных чисел, либа на Си, Ring-3-приложение - уже загуглили, что это? - на С#).
А я, уже закончив универ, - уже прошло 15 лет, можно открыть секрет Полишинеля - помогал младшим товарищам делать всякие курсовые проекты по программированию, в том числе на C# (потому что изучал его уже самостоятельно - ибо системное мышление и умение обучаться - это вам не хер собачий и «а какой у вас опыт промышленной разработки???»). Помогал - не значит «всегда делал за них», иногда еще задавал каверзные вопросы и заставлял думать самих (да, был душным уже тогда)
И вот значит студенту третьего курса моей специальности дают задачу запрограммировать какой-то алгоритм преобразования чего-то во что-то, где в структуре результата в первых четырех байтах нужно закодировать размер исходного файла. И он ко мне приходит и говорит «а я правильно понимаю, что с помощью этого алгоритма можно обрабатывать файлы меньше 10000 байт?». Я его спрашиваю, почему? Ведь 4 байта - это 2^32, то есть размер файла может быть до 4 Гб (ставь 🤔, если надо объяснить почему). А студент говорит «ну как… 4 байта - это 4 символа, то есть максимальный размер, который можно записать - это 9999…. 10000 уже не влезет»
🤷
Если вы вдруг забыли или не очень интересовались в свое время информатикой, или по статусу неположено, то вот объяснение ситуации. Изучая базовые принципы информационных технологий, устройства памяти и некоторые языки программирования, которые заставляют вас работать напрямую с памятью - и Си и ассемблер к ним относятся - мы понимаем, что на самом деле означает значение байтов памяти и как через них передавать и кодировать информацию. А студенты, которые пропустили эту часть, не пощупали ее руками и сразу стали работать с визуальными технологиями (которые уже тогда предоставлял C#), воспринимали байты только как способ переносить символы. Поэтому для нас 4 байта - это 2^32 степени, а для них - 4 символа, то есть «9999»
Post #86
348
IT Hurtz Это вторник и на дворе рубрика «пятиминутка рефлексии и нытья»)) Не так давно в очередной раз наткнулся на мысль, что «архитектор это минимум сИньорный разработчик, поэтому техинтервью должен проходить как разработчик, а еще сисдизайн рулит» и словил рефлексию…
- 😁 5
- ❤ 1