forked from jwasham/coding-interview-university
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
61 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -70,8 +70,15 @@ | |
- Търпение | ||
- Време | ||
|
||
Обърнете внимание, че това е учебен план за **софтуерно инженерство**, а не за уеб разработка. Големите компании като Google, Amazon, | ||
Facebook и Microsoft различават софтуерното инженерство и уеб разработката. Amazon, например, имат Frontend инженери (FEE) | ||
и Software Development инженери (SDE). Това са 2 отделни позиции и интервютата за тях няма да са еднакви, тъй като всяка една от | ||
тях има своите специфики. Тези компании изискват знания по компютърни науки за позиции свързани със софтуерно инженерство/разработка. | ||
|
||
Обърнете внимание, че това е учебен план за **софтуерно инженерство**, а не за уеб разработка. Големите компании като Google, Amazon, Facebook и Microsoft различават софтуерното инженерство и уеб разработката. Amazon, например, имат Frontend инженери (FEE) и Software Development инженери (SDE). Това са 2 отделни позиции и интервютата за тях няма да са еднакви, тъй като всяка една от тях има своите специфики. Тези компании изискват знания по компютърни науки за позиции свързани със софтуерно инженерство/разработка | ||
По принцип в университетска програма по Компютърни науки/Информатика има много неща за учене, но знаейки около 75% от това е | ||
достатъчно добре за да се справите на интервю, това е и информацията която покривам тук. | ||
За пълна програма по Компютърни науки за самоуки записките от моя план за учене са включени в Пътеката по Компютърни науки на Камран | ||
Ахмед: https://roadmap.sh/computer-science | ||
|
||
--- | ||
|
||
|
@@ -207,14 +214,60 @@ | |
|
||
Ако също като мен не сте учили компютърни науки в университет това ще Ви помогне да наваксате и ще Ви спести години. | ||
|
||
Когато започнах този проект не знаех какво е стек или опашка, нямах представа какво е Big-O, не знаех нищо за дървета или как да обхождам графи. Ако трябваше да напиша сортиращ алгоритъм мога да Ви кажа, че бих се справил ужасно. Всяка от структурите от данни, които бях използвал досега бяха имплементирани в езика, който ползвах и нямах представа как работят реално. Никога не ми се беше налагало да управлявам памет освен ако някой от процесите, които бях пуснал не връщаха грешка "out of memory"- тогава се налагаше да търся заобиколен път. Бях ползвал хиляди асоциативни масиви и многоизмерни масиви няколко пъти, но никога преди не бях имплементирал структури от данни от нулата. | ||
Когато започнах този проект не знаех какво е стек или опашка, нямах представа какво е Big-O, не знаех нищо за дървета или как да | ||
pобхождам графи. Ако трябваше да напиша сортиращ алгоритъм мога да Ви кажа, че бих се справил ужасно. Всяка от структурите от данни, | ||
които бях използвал досега бяха имплементирани в езика, който ползвах и нямах представа как работят реално. Никога не ми се беше | ||
налагало да управлявам памет освен ако някой от процесите, които бях пуснал не връщаха грешка "out of memory"- тогава се налагаше | ||
да търся заобиколен път. Бях ползвал хиляди асоциативни масиви и многоизмерни масиви няколко пъти, но никога преди не бях | ||
имплементирал структури от данни от нулата. | ||
|
||
Планът е дълъг. Може да Ви отнеме месеци. Ако вече сте запознати с повечето от темите ще Ви отнеме много по-малко | ||
Планът е дълъг. Може да Ви отнеме месеци. Ако вече сте запознати с повечето от темите ще Ви отнеме много по-малко. | ||
|
||
## Как да го ползвате | ||
|
||
Всичко надолу е само схематично изложение и трябва да преминете през темите от горе до долу. | ||
|
||
Аз използвам специалния маркдаун на ГитХъб, включително листове със задачи за да следвам прогреса си. | ||
- [Повече за GitHub-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) | ||
|
||
### Ако не желаете да използвате git | ||
|
||
На тази страница кликнете върху бутона Code най-отгоре, а след това изберете "Download ZIP". Накрая разархивирайте файла и можете да | ||
работите с текстовите файлове. | ||
|
||
Ако сте отворили файловете с текстов редактор, който разбира markdown, ще видите всичко форматирано подредено и красиво. | ||
|
||
![Как да изтеглим хранилище като zip файл](https://d3j2pkmjtin6ou.cloudfront.net/how-to-download-as-zip.png) | ||
|
||
### Ако се чувствате сигурни да ползвате git | ||
|
||
Създайте нов бранч за да може да отбелязвате елементи по този начин, като просто вкарате един х в скобите: [x] | ||
|
||
1. ***Направете Fork на GitHub хранилището:*** `https://github.com/jwasham/coding-interview-university` като кликнете върху бутона Fork. | ||
|
||
![Направете Fork на GitHub хранилище](https://d3j2pkmjtin6ou.cloudfront.net/fork-button.png) | ||
|
||
1. Клонирайте хранилището на персоналния Ви компютър: | ||
|
||
``` | ||
git clone [email protected]:<your_github_username>/coding-interview-university.git | ||
cd coding-interview-university | ||
git checkout -b progress | ||
git remote add jwasham https://github.com/jwasham/coding-interview-university | ||
git fetch --all | ||
``` | ||
1. Маркирайте всички кутийки с Х след като сте готови с промените си: | ||
``` | ||
git add . | ||
git commit -m "Marked x" | ||
git rebase jwasham/main | ||
git push --set-upstream origin progress | ||
git push --force | ||
``` | ||
## Не мислете, че не сте достатъчно умни | ||
- Успешните софтуерни инженери са умни, но много имат чувството, че не са достатъчно умни | ||
|
@@ -223,9 +276,11 @@ | |
## Бележка за видео ресурсите | ||
Някои видеа са достъпни само след записване в курс на Coursera или EdX- т.нар. MOOCs. Понякога се налага да изчакате няколко месеца, за да стартира ново издание на курса, така че няма да имате достъп до тях. | ||
Някои видеа са достъпни само след записване в курс на Coursera или EdX- т.нар. MOOCs. Понякога се налага да изчакате няколко месеца, | ||
за да стартира ново издание на курса, така че няма да имате достъп до тях. | ||
Би било чудесно такива ресурси да бъдат заменени с безплатни и свободнодостъпни публични източници като YouTube видеа (по възможност университетски лекции), за да могат всички да учат навсякъде и по всяко време, а не само когато даден курс върви в момента. | ||
Би било чудесно такива ресурси да бъдат заменени с безплатни и свободнодостъпни публични източници като YouTube видеа (по възможност | ||
университетски лекции), за да могат всички да учат навсякъде и по всяко време, а не само когато даден курс върви в момента. | ||
## Изберете език за програмиране | ||
|
@@ -1429,7 +1484,7 @@ Mock интервюта: | |
- [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/) | ||
- [Design a cache system](https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/) | ||
## Additional Learning | ||
## Допънителни теми за учене | ||
Добавих тези теми, за да Ви помогна да бъдете по-добри софтуерни инженери и да сте наясно с определени технологии и алгоритми, което ще разшири "инструментите", с които можете да работите | ||
|