Answer the question
In order to leave comments, you need to log in
Basic knowledge of algorithms to work as an intern developer?
Good afternoon!
I am an economist by education, I have a desire to develop, I learn python at my leisure, but I suspect that without basic knowledge of algorithms (or maybe not only them?), they most likely will not be hired as an intern developer. I looked at several books on algorithms - all of a large volume, I suspect that such a volume of knowledge to start a career will be redundant, besides, without application, this knowledge will be forgotten anyway.
Accordingly, the question is - at what level should one have knowledge of algorithms (probability theory, higher mathematics, graph theory, etc.) in order to go to work as an intern? What knowledge is really needed, in your opinion, in order not to teach just for the sake of studying, but to really study the material that will come in handy?
Answer the question
In order to leave comments, you need to log in
First of all, do not blurt out "probability theory" at the interview, they will laugh at you. The discipline is called "probability theory"
In IT, the main thing is not learning algorithms in the "like a rhyme" mode (well, this is important for some kind of Olympiad. But at the Olympiad, unreal programmers solve unreal problems on unreal hardware, we will not touch them), but a general understanding and the ability to navigate in language and technology.
So what for the interviewers require "knowledge of algorithms?" And it's very simple. Self-implementation of a couple of containers + a couple of searches and sorts is a great coding practice. And an independent solution of hundreds of other small tasks - (for example - write a function to get all permutations of a given alphabet. Do not use the library one) - just a reason to develop a programmer's intuition and coding style.
Programming is more of a craft. Without practice, little will come of it. So Eat -> Code -> Sleep -> Repeat
Well, first of all, you need the skill of googling - the question has already been raised many times.
Secondly, without the skills of practical application, your knowledge of algorithms in development is worthless.
Read the classics - N. Wirth - Algorithms and data structures, it is small.
You won't know what material you need until you face real problems. And after, however, it will also be difficult to understand.
Therefore, learn everything. The books are thick, yes. There will be no freebies. Learn and immediately apply as you like - just write small programs - that's practice for you.
After that, you open the Python standard library documentation and learn it so that it bounces off your teeth.
And then you can go to interviews. For each refusal - ask what is missing.
Hello.
1) Open a vacancy for an intern and see what requirements apply to him. See what typical tasks you need to solve to participate in the internship. For example, Yandex has it all.
2) Python - it is now used either for web applications (html/css/js/python/django - minimal stack) or for building complex server parts (python/c++). Other tasks are rarely done on it. Therefore, firstly, choose your direction, and secondly, learn the necessary stack. Of course, you are not required to know much, but you should know the basic things.
3) If you are an economist, wouldn't it be easier to learn 1c and get a job with a salary of 60k+. And then in a calm environment to learn python and so on? Moreover, in 1s it is just the easiest way to get an internship.
Ps The point of python is that under it there are tasks that already initially require a fairly large knowledge of the language, frames and composites. Therefore, I will say this: Learning Python is easy, but getting a job on it is difficult.
All vacancies are so different that there is no single answer to this question. If you illustrate this very roughly - to go to Yandex you need to know the algorithms very well, to go write sites on Bitrix - you can not know them at all (although they can show off and ask at an interview).
To get basic knowledge, I advise 2 good sources:
1) https://www.khanacademy.org/computing/computer-sci... - they explain very well here
2) https://www.coursera.org/learn/ introduction-to-alg...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question