Господа в связи с тем что я относительный краб в программировании, а работа нужна, появился довольно странный вопрос, а именно какие у меня шансы пройти на вакансии джуниоров C#, с моим багажом знаний и написанных программ, собственно на руках имею следующие вещи:
Диплом колледжа - оценки не отличные по предметам, но хорошие оценки за курсовые, сложные темы (писал пару игрушек и БД + писал дипломную игрушку на UE4).
В портфолио кроме этих мелких курсачей, есть одна большая работа на шарпе - транслятор/интерпретатор (по факту собственная маленькая IDE, транслирует код близкий к шарпу (это не шарп, синтаксис придуман мной, но близко к шарпу), реализована проверка семантики, синтаксиса и интерпретация введенного пользователем кода, работа с файлами (загрузка/сохранение). Из того каким макаром писал, юзал много вещей, дженерики, делегаты (из особо сложных), проверки написаны по алгоритмам магазинного автомата, совмещенного со схемами Тьюринга. Есть реализация RPN. Каждую строку писал сам и могу объяснить почему так, что от этого зависит и как это работает.
Ко всему этому счастью прикручен модуль маленькой БД, работающей с сервером SQL, задачи мелкие в основном работает с DATETIME, немного работы с LINQ.
Умею работать с WinForms, .Net изучаю начиная с 4.0, SQL - T-SQL, знаю схемы O(n), оптимизацию баз данных, ADO.Net.
На базовом уровне знаю HTML, CSS. Знаю синтаксис Delphi, C++(чуть выше базового).
Собственно в чем траблы - на собеседованиях очень часто путаюсь, мозги в кучку, решаю поставленные задачи криво, да и не привык я писать на листке, дайте мне вижуалку, уберите стресс и за полчаса я настрочу вам нужную задачу. но на коленке на листке, много ошибок синтаксиса бывает, часто исправляю код, ибо вижу новые пути по ходу написания, дописать класс, переменную и т. д.
Еще порой не знаю что ответить по знаниям, MVC и прочих паттернов вроде SIngleton, в общих чертах что это и как этим пользоваться знаю и представляю, работать с модулями и прочими ооп ништяками вроде умею и т. д. Но на практике под паттерны никогда не писал, чтобы специально.
Собственно поскольку требования к вакансиям порой звучат довольно стремно, у меня вопрос, я с таким багажом могу претендовать на джуниора? Или что еще нужно выучить или зазубрить на время?
Другие языки программирования и технологии
Собеседование C# Junior.
Можно претендовать. Но лучше доучить.
Вплоть до того, что написать реализации паттернов и садиться самому листочком писать код. Хотя меня еще никто на листочках писать не заставлял.
git - не прикладная чепуха, а очень важный инструмент. Но джуну хватит знать десяток основных комманд.
Вплоть до того, что написать реализации паттернов и садиться самому листочком писать код. Хотя меня еще никто на листочках писать не заставлял.
git - не прикладная чепуха, а очень важный инструмент. Но джуну хватит знать десяток основных комманд.
Когда я устраивался джуниором, то знал только синтаксис C# и то посредственно (к примеру, LINQ и ADO я вообще не знал). Всё остальное по ходу работы узнавал. Зависит от конторы, конечно, но мне кажется, что вам просто уверенности не хватает. Багаж более чем достаточный. А правильно кодить и применять паттерны с разными технологиями - это уже дело практики.
Рома Сапожников
В большинстве вакансия сейчас пишут минимумом C#, MVC, ASP - frontend. и C#, MVC, ADO, SQL-TSQL + знание алгоритмов в backend. Первого куда больше но мне идти во фронтенд не хочется совершенно, кажется мне довольно скучной вещью ._о
Если не секрет то примерно в какие конторы пытались устроится? Гос. конторы, частные? Какого уровня фирмы?
Если не секрет то примерно в какие конторы пытались устроится? Гос. конторы, частные? Какого уровня фирмы?
То что спрашиваю я на собеседованиях:
1. Структуры и алгоритмы. Реализовывать не надо, но надо понимать какие алгоритмы где применяются и какие у них преимущества. Например вопрос, какой алгоритм используется внутри Dictionary или List? Что быстрее сортируется LinkedList или List и почему. Какие недостатки у быстрой сортировки.
Для Джуниора идеальных знаний не требуется, но как минимум что-то надо ответить. Ну и "красный флаг" заявления типа "Да это не требуется. Об этом заботится компилятор" и т. п. в духе, что человеку это совсем не интересно.
2. Умение написать программу FizzBuzz с нуля на бумажке (https://habrahabr.ru/post/298134/). Это просто тест, что хоть что-то умеет человек самостоятельно.
3. В качестве тестового задания сделать небольшой сайт на ASP.NET MVC и небольшой бд на EntityFramework. Типа гостевой книги что-то. Если человек с этими технологиями не сталкивался, то даже лучше. Покажет сможет ли он за вечер два овладеть основами.
Как правило если это все более менее успешно проходит человек, то значит с ним можно работать и учить дальше.
1. Структуры и алгоритмы. Реализовывать не надо, но надо понимать какие алгоритмы где применяются и какие у них преимущества. Например вопрос, какой алгоритм используется внутри Dictionary или List? Что быстрее сортируется LinkedList или List и почему. Какие недостатки у быстрой сортировки.
Для Джуниора идеальных знаний не требуется, но как минимум что-то надо ответить. Ну и "красный флаг" заявления типа "Да это не требуется. Об этом заботится компилятор" и т. п. в духе, что человеку это совсем не интересно.
2. Умение написать программу FizzBuzz с нуля на бумажке (https://habrahabr.ru/post/298134/). Это просто тест, что хоть что-то умеет человек самостоятельно.
3. В качестве тестового задания сделать небольшой сайт на ASP.NET MVC и небольшой бд на EntityFramework. Типа гостевой книги что-то. Если человек с этими технологиями не сталкивался, то даже лучше. Покажет сможет ли он за вечер два овладеть основами.
Как правило если это все более менее успешно проходит человек, то значит с ним можно работать и учить дальше.
Похожие вопросы
- Это задачи для Junior? Неужели Junior должен уметь их решать?
- Что должен уметь (или иметь) т. н. Junior? На ваш взгляд.
- Очень часто читаю вакансии и вижу что ищут Junior программиста, который должен хорошо разбираться в коде.
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Почему у программистов такие лютые собеседования?
- Помогите срочно C#
- Помогите исправить ошибку в программе (c++).
- Зачем нужен C++, если есть C?
- Ещё тупой вопрос по C++ :)
- Почему многие отдают предпочтение C++ а не C# ?
Их до чертиков, например не так давно столкнулся с реализацией хаскеловского maybe через шарп, паттерн монад, удобная вещь, хоть и криво выглядит на шарпе.
Меня заставляли относительно изичную чепуху вроде списков (их легко писать, но я обычно использую дженерики (для моих задач их хватает)), поскольку подобные просьбы не то чтобы ставят в тупик. а у меня просто хаос в мозгах на собеседовании, стремность мешает сосредоточится, я пишу правильно общее направление, но не идеально. Про методы сортировки я давно уже не помню например, ибо их не использую.
Собственно - какие паттерны главным образом учить?