Blog

Совершенный код. С. Макконелл

Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, ил-люстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффектив-ных принципов ясное прагматичное руководство. Каков бы ни был ваш профессио-нальный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.

СКАЧАТЬ

Разработка требований к программному обеспечению

Вигерс Карл, Битти Джой Разработка требований к программному обеспечению. 3-е изд., дополненное / Пер. с англ. — М. : Издательство «Русская редакция» ; СПб. : БХВ-Петербург, 2014. — 736 стр. : ил. ISBN 978-5-7502-0433-5 («Русская редакция») ISBN 978-5-9775-3348-5 («БХВ-Петербург»)

Основная аудитория — бизнес-аналитики и разработчики, а также дизайне- ры, программисты, тестировщики и другие члены команды, задача которых по- нять и удовлетворить чаяния клиентов, а также маркетологи, менеджеры по про- дуктам и менеджеры проекта, которые должны проникнуться «духом» и особен- ностями продукта, чтобы сделать его в полной мере конкурентоспособным. Книга состоит из 32 глав, 3 приложений и словаря терминов.

СКАЧАТЬ

ASP.NET Core

 

Cтаньте профи в революционной технологии Microsoft — ASP.NET Core — и откройте для себя весь невероятный потенциал MVC, Docker, Azure Web Apps, Visual Studio, Visual Studio Code, C#, JavaScript,TypeScript и даже Entity Framework!

 

Чамберс Джеймс, Пэкетт Дэвид, Тиммс СаймонЧ-17 ASP.NET Core. Разработка приложений. — СПб.: Питер, 2018. — 464 с.: ил. — (Серия «Для профессионалов»).ISBN 978-5-496-03071-7

 

СКАЧАТЬ

С#, ASP.NET, JS Вопросы на собеседование

Жизненный цикл запроса:

Подробное описание на стековерфлоу

Очень подробная схема в пдф (от майкрософта)

Вопросы по ООП

Полиморфизм – это возможность объектов с одинаковой спецификацией иметь различную реализацию. Это когда вы создаете абстрактный класс Dog с виртуальным либо абстрактным методом Bark что позволяет задать, заменить либо добавить код метода в пронаследованном класе. При этом пронаследованный клас останется экземпляром Dog и будет иметь тот же интерфейс (метод Bark с такой-же сигнатурой что и в базвом класе).

На практике полиморфизм почти всегда связан с наследованием: не пронаследовав класс – не получишь полиморфизма.

Полиморфизм (на понятном языке, опуская нюансы) это параметризация, в языках программирования – это параметризация методов. То есть, вы можете заменять (параметризировать) код в методах и свойствах, не изменяя интерфейса (сигнатуры) функции.

В свою очередь наследование это параметризация класов.
В C# и CLR разделяют два типа параметризации класов
1) С фиксированым базовым класом (обычное наследование классов)
2) С нефиксированным базовым класом (реализация интерфейсов) по средствам этого типа параметризации происходит множественное наследование в CLR

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

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

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

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

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

Тесты по 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)

Шпаргалка по SQL

create database имя_базы_данных;

use имя_базы_данных;

create table имя_таблицы (имя_первого_столбца тип, имя_второго_столбца тип, …, имя_последнего_столбца тип );

show databases; — показать все имеющиеся БД.

show tables; — показать список таблиц текущей БД (предварительно ее надо выбрать с помощью оператора use).

describe имя_таблицы; — показать описание столбцов указанной таблицы

drop database имя_базы данных; — удалить БД.

drop table имя_таблицы; -удалить таблицу.

Читать далее «Шпаргалка по SQL»

Exam Ref 70-483: Programming in C#

The Microsoft 70-483 exam focuses on a broad range of topics that you can use in your work
as a C# developer. This book helps you understand both the basic and the more advanced
areas of the C# language. It shows you how to use the C# language to create powerful software
applications. This book also shows you how to use the new features that were added to the
C# language, such as support for asynchronous code. This book is aimed at developers who
have some experience with C# but want to deepen their knowledge and make sure they are
ready for the exam. To use the examples in this book, you should be familiar with using Visual
Studio to create a basic Console Application.

DOWNLOAD

Digital design and computer architecture (Russian)

Авторы книги вывели преподавание предмета на качественно иной
уровень, создав более доступный для понимания и наглядный учебник,
чем “Устройство и проектирование компьютеров” (“Computer
Organization and Design”), и описав в нем в деталях,
как спроектировать микропроцессор архитектуры MIPS с помощью
языков SystemVerilog и VHDL. Текст окажется особенно полезным для
студентов, которые в процессе обучения столкнутся с разработкой
больших цифровых систем на современных ПЛИС.

 

СКАЧАТЬ

Прогаммист-прагматик. Путь от подмастерья к мастеру

 

Мудрость и практический опыт авторов очевидны. Разделы, представленные в
книге, уместны и полезны… Сильнейшее впечатление на меня произвели выдающиеся
аналогии — стрельба трассирующими, разбитые окна и фантастическое
по своей аналогии с управлением вертолетом объяснение необходимости
ортогонального подхода, что особенно важно в критической ситуации. Я практически
не сомневаюсь, что эта книга станет превосходным источником полезной
информации как для начинающих программистов, так и для умудренных
опытом мэтров.

СКАЧАТЬ