Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > база знаний джуниора


Автор: Alfmaster 9.11.2009, 17:25
Есть такой вопрос! Хотелось бы знать(если это возможно), каким должен быть набор знаний средне статистического junior .net developer'a? Если можно список тем или ссылочка на какие-нибудь ресурсы! Нужно срочно!

Автор: Экскалупатор 9.11.2009, 17:38
я думаю что этот вопрос не имеет значения, в отрыве от конкретной вакансии. потому что если ты на одной конторе пишешь софт по одной технологии и там ты бог, то на другую тебя могут не взять совсем сказав что в нужных для них технологиях ты не шаришь(и в принципе будут правы).


но лично мое мнение junior не должен падать в обморок от непонятных слов, должен знать где узнать все что ему нужно и уметь быстро воспользоваться необходимой информацией. ну и само собой знать почему вот это плохо.

string str = null;
for(int i =0; i<1000; i++)
{
str+="a";
}


Автор: N1ko 9.11.2009, 17:43
Ну такие требования определяются в первую очередь работодателем. Я допустим когда шёл на джуниора меня спрашивали начиная от основ ООП и заканчивая многопоточностью. Однозначный ответ на этот вопрос ты вряд ли где либо найдёшь.

Автор: Alca 9.11.2009, 17:50
Цитата

ну и само собой знать почему вот это плохо.
Код

string str = null;
for(int i =0; i<1000; i++)
{
str+="a";
}


Чем?

Автор: Экскалупатор 9.11.2009, 17:51
Alca, да собственно все. если учесть что у строка это не изменяемый тип, то сколько строк мы получаем в процессе выполнения этого цикла?

Автор: KuMa1104 9.11.2009, 17:52
Это ужасно медленнооооооооооооооооооооооооооооооооооооооо

Добавлено через 48 секунд
Экскалупатор  и снова ты тут как тут)))

Автор: Alca 9.11.2009, 18:00
Цитата

Alca, да собственно все.

Какая альтернатива?

Автор: N1ko 9.11.2009, 18:04
StringBuilder

Автор: Alca 9.11.2009, 18:06
Замеры скорости делал?

Автор: Экскалупатор 9.11.2009, 18:07
Цитата

Конкантенация строк

Всякий раз, когда вы изменяете строку (String) в качестве результата возвращается строка. Создание большоо количества объектов String ухудшает быстродействие вашей программы. Вы можете предотвратить создание новых экземпляров String мспользуя класс StringBuilder.

Итак, вы хотите объединить две строки. Вот традиционный путь

string str1 = "I like ";
string str2 = "Soccer";
string strConcat = string.Concat(str1, str2); 


Результат strConcat = "I like Soccer". Вместо этого, используйте метод Append() класса StringBuilder.

StringBuilder MyStrBuilder = new StringBuilder ("I like ");
String newStr = "Soccer";
MyStrBuilder.Append(newStr);


http://netcode.ru/dotnet/?lang=&katID=30&skatID=289&artID=7919

Автор: N1ko 9.11.2009, 18:08
НУ если учесть что у StringBuilder абсолютно другая система выделяет память(выделяет столько памяти сколько необходимо для строки, а не копирует её как в случае со String), то там и замеров делать не нужно. Да и во всех учебниках по Шарпу об этом подробно написано

Автор: Alca 9.11.2009, 18:12
Цитата

то там и замеров делать не нужно

Ради интереса

Автор: Экскалупатор 9.11.2009, 18:14
Alca, меня больше беспокоило размножение самих строк, потому как при таком условии мы получаем при каждой итерации три новых строки. а это несколько настораживает.

Автор: N1ko 9.11.2009, 18:17
Цитата(Alca @ 9.11.2009,  18:12)
Цитата

то там и замеров делать не нужно

Ради интереса

Неа... Не пробовал.

Автор: Alfmaster 9.11.2009, 18:19
Эй! не отходим от топика!!!1

Автор: KuMa1104 9.11.2009, 18:55
Я насколько помню в книге читал что StringBuilder в тысячи раз эффективнее.

Добавлено через 2 минуты и 21 секунду
Порадуйтесь за меня.
Я парню на VB который в жизни не видал, только что глюк исправил, чисто одной интуицией, плсле таких случаев сам себя уважать чуть больше начинаеш smile 

Автор: KuMa1104 9.11.2009, 19:11
Нашол
http://ipicture.ru/

Автор: PashaPash 9.11.2009, 19:55
Alfmaster, основное требование у джуниору - желание стать сеньером smile

Автор: Alfmaster 9.11.2009, 22:34
PashaPash, желания хоть отбавляй!

Автор: wester 9.11.2009, 22:41
PashaPash
кстати мне тоже интересно smile поконкретнее , какие технологии в каком обьеме\уровне необходимо знать

Автор: Exai1e 10.11.2009, 00:13
я думаю что нить в этом плане:

Цитата

ООП
C# Core - I/O, Thread, Events, Serializable
WinForms
ADO.net / SQL
Socket / WCF
XML
+/- ASP.net / WebService

Автор: N1ko 10.11.2009, 00:49
Цитата(Exai1e @ 10.11.2009,  00:13)

Сообщений: 666 

 smile 
Цитата


ООП
C# Core - I/O, Thread, Events, Serializable
WinForms
ADO.net / SQL
Socket / WCF
XML
+/- ASP.net / WebService


Думаю +/- можно поставить напротив Threads и Socket ИМХО это уже Senior level. Думаю ещё LINQ туда можно добавить.

Автор: Exai1e 10.11.2009, 01:24
N1ko, кол-во сообщений меня тоже порадовали smile
не, ну потоки маст хэв, например даже - выбрать больше кол-во данных из БД. не делать же это в основном потоке, вешая приложение ? так что знать что это, как работает и уметь пользоваться надо обязательно. А сокеты и WCF, ну да, если в вакансии не указанно "разработка распределенных приложений"  smile 
зы. я всего лишь написал, то что я вижу в junior .net developer
 smile  изыди магическое число

Автор: N1ko 10.11.2009, 01:44
Вот лично я представляю джуниора как человека с базовыми навыками, умеющего сделаю минимальную работы. Потоки имхо уже изощрённость, которая требует более глубокого знания С# да и много у потоков ньюансов всяких.  Мне кажется джуниору не доручат создание приложения, которое плотно связано с потоками, а датут эту работу более продвинутому специалисту.

Автор: wester 10.11.2009, 11:34
N1ko
по поводу linq я не вижу что бы разработчики БД хоть как то обратили внимание на эту технологию, так очередная фишка MS
по поводу потоков...если есть возможность прочитать и принять участие в проекте связанном с потоками , то необходимо принять что бы не отмахиваться фразой что это следующий уровень и тд



Exai1e
спасиб за примерные требования , пошел искать книгу про ADO.net

Автор: Partizan 10.11.2009, 11:48
Цитата

по поводу linq я не вижу что бы разработчики БД хоть как то обратили внимание на эту технологию, так очередная фишка MS


Разработчикам БД это и не нужно...а вот front-endовцы юзают довольно активно smile

Автор: Ram1reS 10.11.2009, 17:40
А насколько востребованы junior'ы? Как-то не особо вижу вакансий под них, или не там смотрю? 

Автор: Exai1e 10.11.2009, 18:14
востребованы, если ты про Москву. В остальных городах, не в курсе.

Автор: Grok 11.11.2009, 01:04
могу сказать про Киев, не востребованы, без ОР даже не смотрят, особенно в .net 

Автор: Alfmaster 11.11.2009, 16:22
Grok, блин, а как же быть в данной ситуации?

Автор: Partizan 11.11.2009, 17:06
Идти работать за копейки только чтобы набраться опыта...

Автор: Grok 11.11.2009, 21:13
Partizan, не факт что возьмут вообще, я был готов ради опыта на 3000 грн, (~350$), сцуки даже на собеседования не приглашали ) 
Alfmaster, можно пока найти что-то другое, я например сейчас занимаюсь раскруткой сайта + контент менеджмент ) 

Автор: Alca 11.11.2009, 21:47
Цитата

Идти работать за копейки только чтобы набраться опыта...
  smile 

Автор: Partizan 11.11.2009, 22:22
Цитата(Grok @ 11.11.2009,  21:13)
Partizan, не факт что возьмут вообще, я был готов ради опыта на 3000 грн, (~350$), сцуки даже на собеседования не приглашали ) 

350 баксов? ))) ничего себе запросы у Вас, ничего себе "копейки" )))

Автор: Grok 11.11.2009, 23:16
)) ну все в нашем мире относительно ), это зарплата начинающего тестировщика три года назад )),
+ одна знакомая перед кризисом говорила, что к ним приходили на собеседование типочки на джуниора со стартовой ЗП в 1000 у.е. так что на этом фоне мои запросы кажутся довольно таки скромными )

Автор: ДобренькийПапаша 12.11.2009, 21:32
мне было бы стыдно получать зарплату в 30к, зная, что я Джуниор...

Автор: Partizan 13.11.2009, 01:03
ДобренькийПапаша, в Москве, наверное, этого не стоило бы стыдиться smile

Автор: Ram1reS 13.11.2009, 10:30
[offtop]
Ну, в Москве на з/п меньше 30к довольно тяжело жить (в случае если есть семья с детьми), не говорю уже о том, что снимать жилье при такой з/п уже не выйдет(отнесем покупку квартиры в раздел фантастики).
[/offtop]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)