Выполнение контроля повреждений на образцах кода для интервью? - PullRequest
3 голосов
/ 01 августа 2010

Во время интервью для компании меня попросили представить несколько примеров кода, которые подчеркивают мою «лучшую» работу. Я получил ответ на несколько вопросов, касающихся конкретного примера кода, один из которых был связан с ошибкой.

Пример кода представлял собой веб-службу WCF, которая использует AES для шифрования непрозрачного большого двоичного объекта. BLOB-объект используется службой для идентификации всех ресурсов для конкретного запроса службы. Ошибка заключалась в том, что класс .NET RijndaelManaged использовался с режимом CBC, без правильной настройки IV. Класс RijndaelManaged будет автоматически генерировать соответствующий IV во время создания экземпляра класса, что в образце кода происходит при первом использовании шифрования и сохраняется в течение всего срока службы приложения ASP .NET. Поскольку приложения ASP.NET могут быть перезапущены по разным причинам, возможно, что эти непрозрачные большие двоичные объекты будут «недействительными» от одного вызова службы к другому из-за нового значения IV, сгенерированного во время запуска приложения (ошибка).

Сам вопрос звучал так: «Где IV для расшифровки?»

Мой ответ уже должен признать, что это ошибка; но так как они попросили мою «лучшую» работу, могу ли я СОЛНЦИТЬ на этой должности за то, что представил образец с ошибкой? Что еще я могу сказать?

Я не решаюсь обрисовать ситуацию, потому что не хочу казаться, что я извиняюсь, но код шифрования был отключен, когда наш сервис был в пре-альфа, и проект был убит до того, как мы когда-либо пошел в производство.

Ответы [ 2 ]

7 голосов
/ 01 августа 2010

Каждый пишет ошибки. Часть вашей работы как программиста заключается в том, как вы справляетесь с этими ошибками. Я попытался бы обрисовать ситуацию, исправить ошибку и повторно представить ваш код, как вы это делали на работе. После этого все зависит от компании и от того, как они принимают решения о найме. Однако, если бы это был я, а вы проявили инициативу и взяли на себя ответственность, приняв меры и исправив ошибку, я не знаю, будет ли это нарушителем соглашения. Фактически, это может превратить негатив в позитив.

3 голосов
/ 01 августа 2010

Я бы просто сказал, что вы сказали здесь.Изложение вашего понимания ошибки, почему это ошибка, каковы будут ее последствия, и ее решение - лучший способ подтвердить вашу компетентность как программиста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...