Sunday, May 22, 2016

Общие советы и ссылки

1. К собеседованию нужно готовиться всегда. Для этого нужно использовать два подхода:
- долгосрочный - читать книги, учебные проекты
- краткосрочный - подготовка непосредственно перед собеседованием по основным вопросам

2. В 70% компаний на собеседовании спрашивают: "Что вы знаете о нашей компании?". Есть смысл погуглить, чем занимается компания, чтобы показать свою заинтересованность, особенно это актуально для небольших компаний

Общие советы для любого собеседования

Общие советы для веб-разработчика (на английском)

Вопросы на хабре для Junior .NET Developer
Вопросы на хабре по бекенду

Много хороших вопросов по дотнету и смежным технологиям

Тесты по ASP.NET MVC

Особенности строк в .NET
Размер строки примерно = 20 + length*2
var s = "something"; s[5] = 'x'; // exception
Строки являются настоящими ссылочными типами, то есть они всегда располагаются в куче.
Интернирование строк — это механизм, при котором одинаковые литералы представляют собой один объект в памяти.
Строки — неизменяемы (а значит и потокобезопасны)
Строки переопределяют Object.Equals


Вопросы по JavaScript и C#, которые неожиданно вызывают затруднения на собеседованиях
JS: объяснение нюансов falsy/truthy: +!!{} == 1
JS: приведение типов: 2 + 3 + "4" = 54
C#: Чтобы интернирование строк было возможно, строка должна быть неизменной (immutable). Преимущества неизменности строк: потокобезопасность, возможность использования строк в качестве ключей в словарях и хэш-таблицах.

Хорошие привычки C# = плохие привычки JavaScript
1) "0" == true, 0 == false
2) Вместо проверки if (!string.IsNullOrEmpty(someString)) пишется if (someString) - выполнится проверка на значения undefined, null, и ""
3) someString = someString || "Default value" - если первое значение falsy, то присвоится второе
4) === делает проверку на тип
5) Используйте оператор new только когда Вы создаете объект и Вы хотите, чтобы он использовал свой конструктор.
6) Используйте for…in с проверкой hasOwnProperty() для объектов, чтобы исключить из результата неожиданные объекты наследованные от прототипа.
7) Область видимости определяется не фигурными скобками, а функцией. Объявления переменных поднимаются в начало функции (variable hoisting)

No comments:

Post a Comment