Приветствую всех читателей, подумавших, что за 2.5 месяца с нуля действительно можно стать Middle. Поспешу Вас огорчить - это возможно только при очень усердной работе над собой, а я знаю, как всем хочется всего и сразу причем - прямо сейчас и никак иначе. Да и фраза с нуля ко мне применима только в некоем условном статусе, ведь Java, как язык программирования, у меня действительно был абсолютно нулевой. Но кое-что я все-таки уже знал и умел еще до знакомства с JavaRush и пожалуй мне бы хотелось начать свой рассказ именно с этого, потому что мой карьерный рост - довольно странное сочетание знаний, умений и удачи в некотором роде.
Итак, позвольте мне привести список, который создал для меня конкурентное преимущество перед другими, а также позволил пройти JavaRush (до 34 уровня) довольно быстро и без особых сложностей (по крайней мере они меня не удивляли). Список состоит из знаний, которым меня наделил университет, а также тем, что мне самому было интересно. Не буду разделять, где что лежит и называть университет тоже не буду. При желании стоит освоить все эти знания самостоятельно, если в Вашем университете их не дают.
- Алгоритмы и структуры данных: мой путь в этом направлении начался с изучения принципов построения алгоритмов, чтения классических книг (Кнут) и изучения языка программирования Pascal, а продолжился он языком C, реализацией всех структур данных и разбором преимуществ и недостатков каждого из них. Не буду говорить, что ко всему прочему я умею работать с Машиной Тьюринга и Алгоритмами Маркова, точнее я уже это сказал, но Вы можете пропустить это мимо ушей, хотя, на мой взгляд, понятие о бесконечной ленте памяти и движении указателя по нему, дает наиболее правильное представление о том, как же все-таки работает компьютер изнутри, но это только мое скромное мнение.
- Архитектура компьютера и Assembler: когда Вы решите, что полностью разобрались с принципом работы компьютера, попробуйте пописать программы на очень низком уровне (иначе как Вы оцените все прелести Java?), причем лично я рассматривал все учебные варианты с одним, двумя, тремя регистрами и понял, как приходится изворачиваться, когда регистр всего один, а программа работает (удивительно, правда?).
- Дискретная математика: естественно, параллельно вышеперечисленному стоит еще и взяться за этот предмет, так как он дает полное представление о логическом мышлении, а теория конечных автоматов расскажет Вам, как устроены внутренности процессора и как они организованы в интегральных схемах. Не будем забывать, что здесь также изучается Теория Графов, которая 100% лишней не будет.
- Высшая математика: решил выделить все остальные математические предметы в один пункт, чтобы не слишком забивать Вам голову. Здесь лежат: математический анализ, теория вероятностей и статистика, линейная алгебра - кстати, очень очень важная вещь, если Вы хотите заниматься трехмерной графикой (знаю, у всех мечта - писать игры, правда Вам для этого придется еще и пройти курс дифференциальных уравнений и численных методов, но это так - мелочи), ну и другие области.
- Архитектура ОС. Linux: после того, как освоитесь здесь - многопоточность в Java вызовет гораздо меньше вопросов, да и окажется, что сказку про философов Вы уже где-то слышали.
- ООП, язык C++: ну вот, почти добрались до вершины пищевой цепи. Не буду разъяснять здесь в подробностях и не буду говорить, почему реализацию ООП именно на C++ смотреть гораздо интереснее.
- Дополнительно: еще пара мелочей, которую я уже знал, были: компьютерная графика (OpenGL, Unity 3D) и C# (Core).
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
2. Очень интересно рассматривать работу ЭВМ с одним регистром(кстати покажите как вы изворачиваетесь с одним регистром на примере операции сложения двух чисел, можете написать пример на псевдоАСМе условного процессора, да стека нет), с академической точки зрения, с практической точки зрения начинающего программиста прикладника, да еще на Java, абсолютно бесполезная вещь.
пп 3,4 и учитывая дальнейшие пункты, за 6 лет обучения вы либо осваиваете на хорошем уровне их, либо имеете очень поверхностное представление.
6. Чем же интереснее смотреть реализацию ООП С++ например по сравнению с Java?
«ЭЭЭх дурень, что ж я сразу бублик не купил»
мне б такого «снуля» чтоб за месяц с 10 по 28 уровень пройти )
Ну а так, мои искренние поздравления, и не забывайте отдыхать чтоб не перегореть
А уж начал верить что тут таких не встречу…
Ну да спортивное программирование и тот список знаний, что выше описал ТС это же фигня полнейшая и простейшая, как сэмки с пацанами пощелкать и выпить пивка…
Ну и подлизывания к начальству, пиво там, шашлык… Ну и конечно правильно некоторые люди написали выше. В одной конторе ты Сеньор, а в другой даже на Джуна не пойдешь…