TAO
32 уровень

Где взять задачи(идеи) для закрепления материала по пройденым темам JR?

Пост из группы Архив info.javarush.ru
3269 участников
Здравсвуйте. Сейчас на 17-м уровне, и ощущается, что тяжело уже все идет, мотивация падает из-за того, что не понимаешь что-то или даже больше из-за того, что каша в голове.
Суть моего вопроса в общем в том, чтобы хотелось еще больше практики, мини проекты какие-то, но не тупо отсортировать коллекцию определенным образом, а чтобы была задумка какая-то интересная(например мини игра, парсер с сайта) но графику еще не изучал, поэтому только консоль. Может кто подсказать подобные интересные задачи?
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизироваться
Heavy 30 уровень
9 января, 17:32
Не знаю даже как описать чтобы «мотивацию не отбить»))) вообщем 17й уровень это ничто. На деле главное «быть с этим знакомым», «что то об этом слышать». Все эти вещи легко гуглятся. На работе главное правильно составить основу(ядро). Т.е. больше играет роль алгоритм решения, проектированиет, абстракция. Ну или просто подправить какую то часть программы — уметь разбираться в чужом коде. Наверно до 30го уровня учат «алфавит», и только позже — что то похожее на сочинения в 5 предложений.
Рекомендую:
1. поставить линукс и делать все там.(мне особо не пригодилось, работаю под виндовс, но все же многие вещи становятся более понятными)
2. книги(первую книгу по джава я наверно с 3й попытки прочитал, т.к. изучал «алфавит»)
3. делать приложения типа веб сервер с БД(до сих пор не закончил, не до него стало))))
4. английский — написать пару сочинений — о себе, чем хочу заниматься, почему.
5. тренироваться проходить собеседования (общение).
Тут было как то написано что после 20го уровня можно начинать искать работу. А когда приходишь на собеседование — забываешь «как маму зовут» не то что когда использовать linkedList, а когда ArrayList и в чем отличие. Собеседоваться можно даже на любую другую специальность или работу… Играет роль само волнение и уверенность в себе, поведение и т.д.
Ну и еще есть куча сайтов с «рейтингом программиста» там автоматическое тестирование задач… на «java code» гугл выдал www.codecademy.com/learn/learn-java — меня как то на подобном тестировали и я конечно же тесты завалил.
Вот я как то писал.
info.javarush.ru/Heavy/2016/03/28/%D0%9E%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D1%82%D0%B5%D1%81%D1%82%D1%8B-%D0%BD%D0%B0-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D
fatfaggy 26 уровень, Киев
5 января, 00:57
я сам себе придумывал)
каша в голове поправляется структурированием информации. поэтому мне кажется, тут лучше не только задачи делать, но и теорию читать. всякие статьи в интернете, или книжки.
ведь не все, что ты прочитал на джавараш усвоилось прям с первого раза и ты теорию всю на память знаешь) по-любому остались какие-то бреши, белые пятна… и вот именно из-за них как-раз и не может сложиться вся мозаика целиком в голове (ну это так у меня бывало).
наткнулся на какой-то вопрос, который ты вроде знаешь, но как-то неуверенно — гуглишь его) общие вопросы часто на хабре расписаны, типа, как работает HashMap например) какие-то ньюансы уже обычно так просто в статьях по интернету раскиданы.
или вот например что за метод такой intern() в классе String, зачем он и в чем суть его работы?
или что за ключевое слово такое strictfp и что оно делает? да и вообще сколько знаешь ключевых слов в java (и какие из них не используются). я вот по теории готовился нашел на сайте become java senior 300+ вопросов к собеседованиям, и там в комментах кто-то поделился ссылочкой на ответы.

уметь задачи решать — это конечно хорошо)) но и теорию знать стоит тоже) тогда и решения попроще будут сами находиться)

так же в интернете есть всякие сайты с подборками интересных задач для разных ЯП (гуглятся на ура) или даже без привязки к какому-то конкретному ЯП. когда поокрепнешь — можешь ковырять опенсорс проекты на гитхабе, смотреть идею и пытаться запилить что-то свое.

можешь сделать поискового бота (ну типа как у гугла), которы будет ходить по сайту, разбирать страничку, находить ссылки и переходить по ним (только по внутренним, иначе вылезешь в интернет и бот захлебнется информацией)… и так пока не обработает все ссылки на этом сайте. а ссылку и title страницы например сохранять в файлик, а ссылки на внешние ресурсы сохранять в другой файлик (реальная задача из жизни seo-специалиста)

можешь поковырять какой-нибуд
fatfaggy 26 уровень, Киев
5 января, 01:25
аа, и еще забыл довольно важный момент!
помогайте другим людям с их задачами (например с теми, которые вы уже решили).
только во-первых, не давайте прямого решения человеку, а лучше просто описать идею словами. пусть сам решение напишет благодаря вашей идее)
и конечно же никаких ответов из серии «давай по новой, Миша, все х**ня»))) такие ответы ни вам, ни человеку не принесут никакой пользы) если уж и даете ответ — то стоит объяснить почему лучше так, а не иначе, в чем загвоздка, итд. в процессе написания ответа — вы и сами будете подгугливать всякие детали и тонкости, чтобы не упасть лицом в грязь и дать человеку правильный ответ) заодно получается и повторение пройденного материала :)
довольно часто бывает, что вроде на несложный вопрос приходится сидеть и гуглить больше, чем вообще можно было представить))) вот так и свои пробелы заполните, помогая другим :)
я вот даже отвечая вам подгуглил как тот сайт с задачами называется)) и это я писал ответ абсолютно не вдаваясь в какие-то технические подробности.
если же попробуете объяснить человеку что такое static и зачем он вообще нужен — возможно придется тоже какие-то детали уточнять в интернете ;)
TAO 32 уровень
5 января, 19:31
Большое спасибо за столь прекрасный ответ! Буду стараться в общем все структурировать и убирать пробелы
fatfaggy 26 уровень, Киев
7 января, 03:20
могу еще вот задачку подкинуть :) по работе с файловой системой, вы ее уже проходили наверняка)

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

*задание со звездочкой — также найти папки-дубликаты. это такие папки, у которых одинаковое имя, и в которых все файлы и подпапки имеют одинаковые имена и контент

так как работа программы займет длительное время (особенно на терабайтных винчестерах) — надо запилить также:
1. многопоточность (лучше использовать thread pool executor-ы всякие, например CachedThreadPool или какой-то другой, в зависимости от того, как вы будете реализовывать многопоточность. если с таким еще не сталкивались — отличная возможность почитать и разобраться в этом. если не получится — всегда можно переписать через старые добрые треды :) )
2. спинер, который бы крутился в консоли, показывая, что программа не зависла, а выполняется (можете взять код из этого ответа, разобраться как он работает, и прикрутить себе в проект)

по срокам примерно день-два на MVP, неделю на допиливание и прикручивание всяких фич :) ну это фултайм дни, конечно же. если в день у вас есть только 2 часа в день на программирование — тогда было бы желательно MVP получить через неделю-две работы :)