Как улучшить теоретическую базу в программировании?

Долгое время работал в области поддержки сайтов на php. Однако случилось так, что захотелось попробовать свои силы в разработке приложений. Попробовал устроиться на работу, практически все работодатели (точнее технические директоры), твердили, что мне не хватает теоретических знаний в области программирования. Что они имели ввиду, по вашему мнению. И самый главный вопрос: где раздобыть этих знаний, может посоветуете книги? Я программист-самоучка (python\php).
  • Вопрос задан
  • 1160 просмотров
Решения вопроса 2
aRegius
@aRegius
Python Enthusiast
Артем, приветствую!
Я далеко не гуру программирования, и тоже, кстати, программист-самоучка, однако мой жизненный опыт и здравый смысл в подобной ситуации продиктовал бы мне несколько иной подход к решению вопроса.

1. Самое очевидное, простое и правильное (при условии, что для вас этот вопрос все еще актуален и насущен) - связаться с этими людьми повторно и уточнить лично у них, о каких именно знаниях идет речь. Как калька: "Добрый день! Меня зовут Артем, тогда-то я был у вас на собеседовании, мне отказали, сославшись на нехватку теоретических знаний. Вы не могли бы мне помочь советом, каких именно знаний мне не хватает? Эта информация помогла бы мне их приобрести...." Ну как-то так...

2. На будущее, при возникновении подобных ситуаций, задавайте такие вопросы прямо на собеседовании. Иначе потом снова будут эти "гадания на кофейной гуще".

3. По каким критериям вы собираетесь выбирать источник знаний, предложенный вам мнением людей, каждый из которых представляет собой уникальную смесь возраста, знаний и опыта, а, соответственно, свое видение ситуации?

4. Обучения для себя, обучение в ВУЗе, и обучение для конкретной работы - суть разные вещи. Вам нужно третье, насколько я понял. Для этого нужно четко понимать, что нужно работодателю. И вариантов хорошего результата собеседования есть два - вас взяли на работу; вас не взяли на работу, но вы знаете, что конкретно вам еще нужно сделать (чего вам не хватило), чтобы вас взяли.

Смоделируем ситуацию:
Вы пришли на собеседование. Вам отказали: "У вас недостаточно теоретических знаний". Вы сказали "Ок" и ушли. Задали вопрос на Тостере, вам предложили 15 вариантов ответа - надо учить такие-то алгоритмы, такие-то паттерны и прочее... Вы перезваниваете рекрутеру, задаете вопрос, а вам отвечают, что вам не хватает теоретических знаний о протоколах передачи данных... Ну к примеру...

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

Такова моя точка зрения. Удачи!

P. S. Немножко юмора, касательно знаний, заказчиков и инструментария для решения конкретной задачи.
Ответ написан
@asd111
Думаю на собеседовании они спрашивали что такое сложность алгоритмов и О нотация и ты не смог ответить или спрашивали про бинарный поиск, графы, деревья. Потому что это частые вопросы на собеседованиях.
Ты можешь довольно быстро восполнить пробел.

Советую прочитать любую короткую книгу по алгоритмам и структурам данных.
Есть видеокурсы на эту тему:
6 лекций по 1.5-2 часа
https://habrahabr.ru/company/abbyy/blog/251561/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dmtrrr
Backend developer
Как минимум:
  • Алгоритмы и структуры данных
  • Устройство операционных систем
  • Основные сетевые протоколы
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект