FAQ

Полезности | создано: 5/20/2021 | опубликовано: 5/20/2021 | обновлено: 10/2/2022 | просмотров: 5209

Серия видео роликов с вопросами и ответами на них, которые присылают подписчики youtube-канала и читатели блога. Ответы на разные вопросы по разным темам: о принципах программирования, паттернах, правилах, законах, библиотеках, nuget-пакетах, инструментах, сборках и многое-многое другое.

Вопросы для собеседований

Серия коротких роликов с вопросами и ответами на них, которые можно часто услышать на собеседованиях. Речь идет о должностях в сфере IT-технологий, разработки и архитектурного проектирования ПО. 

Внимание: Синтаксис и пунктуация вопросов оставлена от авторов этих самых вопросов. :)

FAQ по программированию 1

  • 00:19 | 1. EntityFramework (Core) vs Unit of Work + Repository. Оправдано ли использование перечисленных паттернов в совместно?
  • 02:15 | 2. MessageQueue сервис в микросервисной архитектуре. Обязательно или можно обойтись?
  • 05:20 | 3. ASP.NET Core не поддерживает impersonation. Почему?
  • 10:00 | 4. CodeFirst vs DatabaseFirst. Что и когда выбирать?
  • 12:18 | 5. Зачем нужен Automapper?
  • 14:07 | 6. Уникальный идентификатор сущности: Guid или Long?

FAQ по программированию 2

  • 00:13​ | 7. Если существует какой-либо метод, который, например, возвращает имя файла (FileName) и его размер (FileSize) в байтах, и потребовалось добавить возможность возвращать байты вместо названия файла, то какой способ реализации вы порекомендуете? Почему?
  • 01:48​ | 8. Git и GitClient. В чем разница? Что и для чего нужно?
  • 02:50​ | 9. Микросервисы. Разделённые модули, как тогда они взаимодействуют между собой?
  • 04:44​ | 10. React, Vue, Angular, Aurelia, Blazor и другие фреймворки для написания Single Page Application с богатым UI.

FAQ по программированию 3

  • 00:25​ | 11. А не много ли классов в вашем приложении?
  • 01:06​ | 12. При использовании TypeScript, например в ReactJs, пропадает динамическая типизация, что несомненно можно отнести к плюсам языка JavaScript.
  • 02:21​ | 13. Каковы принципы тестирования, например, если произошла ошибка записи в базу данных, чтобы репозиторий вернул соответствующий ответ? Как тестировать авторизацию, например, приходит ли ожидаемый ответ от контроллера при наличии/отсутствии определенного claims’a.
  • 06:25​ | 14. В чем смысл и полезность выбрасывать вручную ArgumentNullReference exception? Замена одного исключения другим?

FAQ по программированию 4

  • 00:26​ | 15. Паттерны "orchestration" и "choreography". Что и когда?
  • 01:23​ | 16. Программирование на платформе WPF с использованием MVVM. Нужно или нет?
  • 03:09​ | 17. Какой GIT-клиент вы используете в повседневной работе?
  • 03:50​ | 18. Наш тимлид запрещает "выставлять" наружу IQueryable наружу. На вопрос "почему" - отвечает "так надо". Можно ли?
  • 06:04​ | 19. Где и когда использовать можно и нужно gRPC сервисы?

FAQ по программированию 5

  • 00:27​ | 20. Сколько способов загрузить данные из базы данных вы знаете? Речь идет об загрузки зависимых данных (свойства навигации). Select, Include (Eager), Entry (Explicit), Lazy
  • 02:14​ | 21. Какие проблемы и задачи приходится решать при создании микросервисной архитектуры?
  • 05:02​ | 22. Какое количество вливаемых объектов считается оптимальным?
  • 06:27​ | 23. Как лучше организовать обновление БД ( использую Code First), чтобы проще было переносить данные из уже работающей базы в новую?
  • 08:48​ | 24. Что нужно знать в целом о публикации и работе опубликованного приложения например на IIS?
  • 11:01​ | 25. Какие конфигурационные файлы, кроме appsettings и webconfig важны в приложениях Net.Core? Что нужно делать чтобы избежать проблем со всякими совместимостями и т.д.?
  • 12:37​ | 26. Есть, например, решение Net.Core API, и вдруг приспичило к нему прикрутить другое моё готовое решение, например WPF. Как это делается?

FAQ по программированию 6

  • 00:25​ | 27. У вас возникает проблема с избыточным количеством моделей (ViewModels)?
  • 03:44​ | 28. Для чего программисту нужен Docker?
  • 08:32​ | 29. Как вы реализуете передачу CorrelationId (TraceId) между сервисами ASP.NET Core?

FAQ по программированию 7

  • 00:09​ | 30. Почему лучше использовать IHttpClientFactory, а не сразу HttpClient?
  • 02:14​ | 31. Используете ли вы Blazor? Стоит ли начинать его изучение? Будут ли уроки по нему?
  • 04:02​ | 32. Можно ли написать на SignalR многопользовательскую игру? Производительность вроде как невысокая у SignalR

FAQ по программированию 8

  • 00:27​ | 33. Для чего нужен MassTransit?
  • 02:36​ | 34. Пакет Mediatr это и есть CQRS?
  • 06:12​ | 35. На сколько полезен Prometheus в микросервисной архитектуре?
  • 09:18​ | 36. Grafana или Prometheus: Что лучше для мониторинга?

FAQ по программированию 9

  • 00:25​ | 37. Что и где лучше использовать Kafka или RabbitMQ и как?
  • 01:39​ | 38. OpenID Connect vs SAML
  • 04:37​ | 39. Сколько последовательных запросов можно делать при REST-запросах в микросервисной архитектуре?
  • 06:16​ | 40. Когда можно и нужно применять API Gateway паттерн (Facade в ООП)?
  • 09:26​ | 41. Большие шаблоны большого функционала для бизнеса.
  • 12:52​ | 42. Использование MassTransit нарушает концепцию микросервисов.

FAQ по программированию 10

  • 00:44​ | 43. В чем отличия Silverlight от Blazor? (Blazor это новый Silverlight?)
  • 07:17​ | 44. Где должна находиться бизнес-логика на frontend или на backend?
  • 11:38​ | 45. Что значит full-stack разработчик?
  • 15:44​ | 46. Что такое Event Sourcing применительно к микросервисной архитектуре? Нужно ли сохранять события Требует использовать подход CQRS?

FAQ по программированию 11

  • 00:34​ | 47. Blazor - это SPA фреймворк. А можно его подключить к существующему проекту, который на ASP.NET Core MVC?
  • 01:52​ | 48. Если есть Blazor, то можно ли теперь вообще не использовать JavaScript в проекте, а всё писать на C#?
  • 03:00​ | 49. Что такое Polly?
  • 04:26​ | 50. Зачем нужен partial в C#?
  • 05:48​ | 51. Что такое Electron?
  • 08:08​ | 52. LocalStorage нужно реализовывать через JS или есть встроенная в Core поддержка?
  • 09:51​ | 53. Получается что при использовании LocalStorage, если я открою две вкладки и в разное время сохраню разные значения с одним тем же ключом, то одна вкладка будет перезаписывать данные другой или хранилище у каждой вкладки свое?

FAQ по программированию 12

  • 00:29​ | 54. Какую базу данных выбрать для слабой конфигурации VPS?
  • 02:41​ | 55. Если сравнить PostgreSQL и MS SQL EXPRESS, то какую вы выберите?
  • 05:32​ | 56. Когда я делаю DEBUG в приложении с Blazor WebAssembly у меня не срабатывают некоторые точки останова (breakpoints). Что я делаю не так?

FAQ по программированию 13

  • 00:31​ | 57: Обязательно ли надо с монолитного приложения переходить на микросервисную архитектуру?
  • 01:29​ | 58: Что бы вы порекомендовали сделать в первую очередь при переходе от монолита к микросервисам?
  • 03:46​ | 59: Что быстрее работает "монолит" или "микросервисы"?
  • 05:57​ | 60: Что лучше всего использовать для определения затраченного времени на выполнение метода Stopwatch или DateTime?

FAQ по программированию 14

  • 00:27​ | 61. Стоит ли переходить на NET 5.0?
  • 02:22​ | 62. Локализация в компонентах Blazor возможна? Что-то у меня не получается через ресурсные файлы.
  • 03:20​ | 63. Что делать если RabbitMQ перестанет обрабатывать сообщения? Как микросервисы будут работать?
  • 08:18​ | 64. Что самое трудное в программировании?

FAQ по программированию 15

  • 00:22​ | 65. Мы начинаем новый большой проект. Планируем использовать WinForm. Дайте какой-нибудь совет пожалуйста.
  • 01:50​ | 66. Какой NET выбрать NET 3.1 или NET 5?
  • 03:23​ | 67. Как получить доступ к данным в Blazor?
  • 04:24​ | 68. Должен ли разработчик иметь свой личный блок?
  • 09:45​ | 69. Какие у вас самые любимые паттерны?

FAQ по программированию 16

  • 00:26​ | 70. Микросервисы это всегда Docker (Kubenetes)?
  • 01:17​ | 71. Использование репликаций между базами данных (например, при помощи ServiceBroker) в микросервисах это возможно?
  • 03:35​ | 72. Сколько надо учиться чтобы стать junior-разработчиком?
  • 06:15​ | 73. Хотим делай игру для браузера. Какой выбрать фреймворк?

FAQ по программированию 17

  • 00:29 | 74. Что вы думаете про Clean Architecture?
  • 01:55 | 75. Нужно ли использовать ORM?
  • 04:15 | 76. Как можно ускорить работу EntityFramework?
  • 06:13 | 77. Что лучше учить ASP.NET разработчику, Vue, React или Angular?
  • 09:59 | 78. Что вы думаете про OrmLite как альтернатива EntityFramework?

FAQ по программированию 18

  • 00:24 | 79. Почему в EntityFramework Core нет триггеров (triggers) на вставку/обновление/удаление записей как Microsoft SQL Server?
  • 02:15 | 80. Есть ли хорошие аналоги Identity Server 4? Если есть, то какие? Какие у них плюсы и минусы?
  • 04:13 | 81. А есть карта обучения net разработчика? Если есть то какая?
  • 06:47 | 82. Что лучше String.Empty или ""?
  • 07:19 | 83. Что должен знать midlle asp.net разработчик (какие паттерны, какие библиотеки для хорошего кода, ...)?
  • 12:36 | 84. Где можно использовать record типы (как модели в EF ...)?

FAQ по программированию 19

  • 00:43 | 85. Как пройти собеседование на должность разработчика?
  • 02:15 | 86. О чем нужно знать начиная разработку API с использованием GraphQL?
  • 04:06 | 87. Как использовать паттерн MVVM при разработке c Blazor?
  • 07:17 | 88. Что вы думаете про DDD?
  • 09:04 | 89. Какая разница между Clean Architecture и Domain Driven Design (DDD)?

FAQ по программированию 20

  • 00:29 | 90. Что вы думаете про SpecFlow?
  • 03:28 | 91. Комментарии в коде это "хорошо" или "плохо"?
  • 06:59 | 92. Как вы думаете, готов ли уже Blazor WASM использоваться в серьезном продакшене? Поясните пожалуйста свой ответ.
  • 09:24 | 93. На сколько необходим рефакторинг кода для разработчика? Можно ли его избежать? 

FAQ по программированию 21

00:59 | 94.Vertical Slice Architecture - зачем опять новая архитектора?
05:35 | 95.Когда не нужно использовать SOLID?
07:09 | 96.Принципиальные отличия IdentityServer4 от OpenIddict. Что выбрать?
09:28 | 97.Что выбрать OAuth2.0 или OpenId Connect?
10:57 | 98.Что такое интеграция? Интеграция с другими сервисами? Сталкивались ли вы с задачами с интеграцией с другими сервисами?
14:06 | 99.Что такое IoT и как ее изучать?
15:41 | 100.Что такое идемпотентность операций, и где вообще идемпотентность важна в программировании?
17:40 | 101.Как происходит распределение нагрузки между запущенными несколькими экземплярами микросервиса? На какой экземпляр попадает запрос? Слышал, что запускают несколько экземпляров на чтение и одни на запись. Может ли быть два и более экземпляров запущенных на запись, дает ли это выгоду? Есть ли что-либо автоматическое, если единственный экземпляр на запись перестает работать, тогда какой-то, выполняющий чтение, переключается на запись? Кто или лучше что следит за нагрузкой и может автоматически запускать/останавливать экземпляры микросервиса при необходимости/ненадобности?

20:19 | 102.Конструкция async/await решает задачи асинхронного выполнения запросов, команд и позволяет не блокировать пользовательский поток и соответственно его интерфейс. Упрощает асинхронное программирование, делая код простым и понятным. На каких архитектурных слоях (репозитории, бизнес-логики, контроллеры), например сервера приложений web api, следует использовать эту конструкцию? Допускается ли испольование на всех слоях? Не будет ли чрезмерное использование этой конструкции губительно для производительности?

21:30 | 103.Какие задачи (бизнес-задачи) все же стоит реализовывать через многопоточность? Предполагаю что это может быть обработка нескольких частей одного видео или загрузка чайте видео. Какие могут быть еще задачи? Следует ли применять многопоточность к обработке некой огромной коллекции данных (несколько сотен миллионов строк данных), где нужно проверить каждую сущность по условию, при необходимости внести в нее изменение и изменения сохранить? Асинхронная задача с этим справится, а следует ли перекладывать на несколько потоков?

23:05 | 104.Как в асинхронном методе вызвать асинхронные методы получение (обработки) данных (независимых) из разных источников используя многопоточность? То есть в методе есть несколько await и они выполнятся последовательно, но без блокировки вызывающего потока. Как их выполнить параллельно?

FAQ по программированию 22

00:59 | 105. DOMAIN-DRIVEN DESIGN vs ANEMIC DOMAIN MODEL?
10:04 | 106. Что выбрать gRPC или gRPC-web?
12:04 | 107. Что думаете про Unity? Был ли опыт?

FAQ по программированию 23

00:44 | 108. Можно ли используя StoredProcedure в SQL-сервере построить правильную архитектуру Domain-Driven Design (DDD)?
08:18 | 109. Расскажите, пожалуйста, об инструментах которые используете при написании кода: для оценки производительности, памяти и т.п.
09:52 | 110. Очень часто нужно сгенерировать PDF, используя например, выборку данных из БД. Например, счет или накладную. Как это лучше сделать? Google выдает кривые библиотеки.

FAQ по программированию 24

00:40 | 111. В подходе CQRS, при чтении данных, правильно ли использовать sql view, хранимые процедуры?
04:10 | 112. Рисуете ли вы, перед написанием нового кода, UML-схемы. На сколько вообще навык их создания необходим среднему разработчику?
07:30 | 113. Где хранить строки подключения/логины пароли?

FAQ по программированию 25

01:17 | 114. Что вы думаете про Аспектно-ориентированное программирование (АОП)? На сколько данный подход оправдан?
12:24 | 115. Востребован ли паттерн "Repository" при работе с CQRS и/или EntityFrameworkCore?
16:52 | 116. Что лучше использовать ToArray() или ToList()? Что лучше для производительности приложения?
17:48 | 117. Что такое Blob? Работали ли вы с ним? Какие проблемы могут быть при его использований и как вы их решали?
19:11 | 118. Есть микросервис, который должен отдавать какие-то данные и еще файл (статические данные) и как правило с таким типом данных хорошо справляется nginx. Как правильно в этой ситуации быть? Разделять запросы или отдавать все вместе и файл как byte[]?

FAQ по программированию 26

00:48 | 119. Как вы относитесь к высказываниям Мартина Фаулера?
01:28 | 120. Расскажите пожалуйста приходилось ли вам работать с "большими" XML файлами? Какие инструменты приходилось использовать, с какими трудностями столкнулись при работе с файлами.
02:42 | 121. Хорошая практика покрывать код тестами. Но есть ли разумные ограничения на число таких тестов?
03:37 | 122. Можно расширяющим методом дополнить стандартные поля в таблице USER в базе аутентификации? Какие есть варианты не трогать базу с пользователями и остаться в рамках БД с остальными таблицами приложения?
05:58 | 123. Сталкивались ли вы со строковым (row-polymorphism) полиморфизмом в работе (к сожалению, статья в википедии не очень помогла разобраться)?

FAQ по программированию 27

00:37 | 124. Какой язык программирования начинать изучать?
04:22 | 125. Как использовать DI в своих библиотеках?
08:55 | 126. У нас есть структуры и классы, структуры работают намного быстрее, в каких случаях можно отдать предпочтение именно структуре, а не классу?
10:47 | 127. Что такое KQL? Зачем он нужен, если уже есть SQL?

FAQ по программированию 28

00:00 | Заставка и приветствие
00:48 | 128. Сколько по вашему мнению должно быть параметров, которые передаются в функцию? И можно ли говорить про такое же количество параметров подойдет и для Dependency Injection в конструктор?
04:49 | 129. Какие библиотеки компонентов для Blazor вы используете? Почему?
07:13 | 130. Нужно ли осуществлять переход на .Net Core 6 с 3.1, если активная разработка планируется и после окончания поддержки 3.1? И в какой момент лучше осуществлять переход, уже сейчас или ближе к концу поддержки?
11:39 | 131. Чем каррирование отличается от интернирования?

FAQ по программированию 29

00:53 | 132. Как лучше перехватывать исключения в одном блоке через switch или в разных через catch?
03:53 | 133. Что лучше использовать VAR или явный тип?
04:28 | 134. Сколько, обычно, nuget-пакетов от сторонних разработчиков вы используете в своих проектов? Что лучше использовать чужие или писать свои?
07:26 | 135. Event Sourcing vs Event Driven Architecture. В чем отличия?

FAQ по программированию 30

00:23 | 136. В одном из предыдущих видео вы сказали, что нужно разделять frontend и backend, чтобы были разные репозитории. Это значит два хостинга?
05:09 | 137. На сколько сильно Mediatr замедляет проект? Нужно ли его использовать?
09:46 | 138. Говорят, что Eventual Consistency это "зло" для пользователей. Верно? Почему?

FAQ по программированию 31

00:23 | 139. Что такое "синтаксический сахар" в C#?
01:11 | 140. Что такое обфускация (obfuscation)?
02:19 | 141 Как правильно использовать REST into CQRS?
04:22 | 142 Как работать с миграциями в команде?

FAQ по программированию 32

00:42 | 143. Что такое "Failing Fast" подход?
02:49 | 144. Можно ли использовать DateOnly и TimeOnly в сущностях для EntityFrameworkCore?
04:01 | 145. Где хранить JWT Token и secret key?
08:45 | 146. Можете рассказать об практических кейсах использования Redis Streams в C# приложениях?

FAQ по программированию 33

01:18 | 147. Для чего нужны unit-тесты и что такое метрики (metrics)? (© Владимир)
05:29 | 148. С чего начать изучение алгоритмов для младшего разработчика? (© Xasiy)
08:34 | 149. На ваш взгляд, какой язык будет наиболее перспективным в будущем (C#, Rust, TypeScript)? (© Xasiy)

FAQ по программированию 34

01:15 | 150. Почему все говорят, что выбрасывать Exception в коде это плохо? (© Владимир)
10:00 | 151. Какие есть инструменты для линтинга кода на C#? Например, как ESLint для JS. И есть ли какие-то популярные стайл гайды?
12:20 | 152. Чем отличается clean architecture от onion?
15:55 | 153. Что лучше использовать Blazor Server Side приложение (полностью на Blazor) или ASP.NET Core + либа с компонентами Blazor? Какие преимущества и недостатки у первого подхода?

FAQ по программированию 35

00:50 | 154. Расскажите когда-нибудь, какой документацией Вы сопровождаете свои приложения.
08:30 | 155. Где лучше хранить тексты интерфейса (названия кнопок, меню...) в ресурсах или в базе данных? (© Андрей)
11:50 | 156. На сайте есть размещенные статьи документации. Как правильнее организовать получение текстов из базы в зависимости от выбранного языка? (© Андрей)

FAQ по программированию 36

00:43 | 157. Как достичь такого понятия как "читаемость кода"? Какие принципы написания такого кода? (©Jsoood)
04:59 | 158. Как можно управлять состоянием в Blazor?
06:08 | 159. Какую технологию выбрать или архитектура современных приложени?
09:18 | 160. Какая разница между Task.Run и Task.Factory.StartNew? Что лучше использовать? (©EKdop)

Задать вопрос

Если вы не нашли ответ на свой вопрос, вы можете задать его в нашей группе в Telegram. Нажмите на QR-код чтобы перейти или наведите камеру и подключите на мобильном телефоне.