Forwarded from My SWE Resources Only
that is a hard database questions with solution☺️-1.pdf
349.9 KB
#algo #resource
List of patterns to solve algorithms:
https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
Top coding interview concepts:
1. Heap top=O(1), insert=O(log n), remove=O(log n), heapify=O(n)
2. Sliding window, two pointers
3. Binary search O(log n)
4. DFS & BFS
5. Recursion (trees, graphs, backtracking, DP and more)
6. HashMaps search=O(1), insert=O(1), remove=O(1)
List of patterns to solve algorithms:
https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
Top coding interview concepts:
1. Heap top=O(1), insert=O(log n), remove=O(log n), heapify=O(n)
2. Sliding window, two pointers
3. Binary search O(log n)
4. DFS & BFS
5. Recursion (trees, graphs, backtracking, DP and more)
6. HashMaps search=O(1), insert=O(1), remove=O(1)
* Algorithms & Drive for Results
* OOP practical coding & Planning, Organizing, and Execution
* High performance coding & Collaboration
* System Design & Growth Mindset, Adaptability
* OOP practical coding & Planning, Organizing, and Execution
* High performance coding & Collaboration
* System Design & Growth Mindset, Adaptability
#advice
RU https://youtu.be/dIjivIwiydY
RU: https://youtu.be/z4dAvln9TiY - 13 СОВЕТОВ: КАК ПРОГРАММИСТУ ХОРОШО ЗАРАБОТАТЬ БЕЗ УСИЛИЙ
RU https://youtu.be/dIjivIwiydY
RU: https://youtu.be/z4dAvln9TiY - 13 СОВЕТОВ: КАК ПРОГРАММИСТУ ХОРОШО ЗАРАБОТАТЬ БЕЗ УСИЛИЙ
YouTube
Не повторяйте наши ошибки. Советы начинающим и опытным программистам, как построить карьеру в айти.
Как стать не просто успешным, но и счастливым в айти? Как развивать себя в программировании? Нужно ли вообще учиться на программиста? Обязательно ли знать английский? В какую компанию идти? Продуктовую или аутсорсинговую? Уверена, что любой айтишник хоть…
Tell me about yourself: come up with a logical story for two minutes and make a beautiful self-presentation.
1. Which qualities make you the best candidate for the position?
- Read the job requirements, and tell us how you meet them.
2. Think about why you are interested in the position.
- Think about how and why this position caught your attention.
- How will it lead you to your personal goals?
- How the company will benefit from you?
3. Why do you want to work at this company and in the particular tech industry?
- You have to find the intersection between your professional skills and the company's philosophy.
4. What unique skill set do you have that makes you a different candidate?
Reference: RU https://youtu.be/BABRxRY0_UY
1. Which qualities make you the best candidate for the position?
- Read the job requirements, and tell us how you meet them.
2. Think about why you are interested in the position.
- Think about how and why this position caught your attention.
- How will it lead you to your personal goals?
- How the company will benefit from you?
3. Why do you want to work at this company and in the particular tech industry?
- You have to find the intersection between your professional skills and the company's philosophy.
4. What unique skill set do you have that makes you a different candidate?
Reference: RU https://youtu.be/BABRxRY0_UY
#resource
How to design the solution for algorithm?
https://www.hiredintech.com/classrooms/algorithm-design/lesson/78
How to design the solution for algorithm?
https://www.hiredintech.com/classrooms/algorithm-design/lesson/78
#algo
Here is my approach on how to design an algorithm:
1. Read the question, don't think about the solution. Just read.
2. Repeat the question. Make sure you understand what is asked in question.
3. Understand inputs and expected result.
4. Think about constraints, and corner cases.
5. Generate ideas, discuss their tradeoffs.
6. Calculate omplexities of your solutions (time and space).
7. Code
8. Test the solution
Here is my approach on how to design an algorithm:
1. Read the question, don't think about the solution. Just read.
2. Repeat the question. Make sure you understand what is asked in question.
3. Understand inputs and expected result.
4. Think about constraints, and corner cases.
5. Generate ideas, discuss their tradeoffs.
6. Calculate omplexities of your solutions (time and space).
7. Code
8. Test the solution
#algo ⭐️⭐️⭐️
Constraints and corner cases checklist.
OOP
1. how many calls will we get for each?
2. Do we need caching if similar calls or similar work needs to be done?
3. what if the data object is empty before calling the remove/pop/top methods?
Strings
1. what if the string is empty, “ “, NULL, length is 1?
2. ASCII, Unicode UTF-8 (special chars)? Character encoding standards.
3. spaces in string in the beginning or in the end?
4. will it contain special symbols?
5. only lower-case English characters, or?
6. sorted? can we sort it out?
7. max and min length of the string?
8. Tests: Zero, one, two, two to max-1, max, max+1
9. Can we use stack, queue, or heap? If duplicates maybe use stack?
Number (int, float)
1. zero? dividing by zero?
2. Can we have negative/positive numbers?
3. what is the range of integers? max and min integer?
4. do we have leading 0s?
5. what if we have floats?
6. Can we use bit manipulation? XOR?
Array
1. Mutable or immutable array?
2. Should it be in place? Or we need to return new one?
3. Items in array are all unique?
4. Do we have repeated items in array? OR can I use the same element twice?
5. Does array contain NULLs?
6. How to handle an empty array?
7. What would I do if the array is super large.
8. Can we sort the array?
9. Do we need to preserve ORDER?
Sorting algorithm
1. empty input, null input
2. element, very long input
3. duplicate elements (sort on a second condition?)
4. odd/even length input
5. Collection with all elements equal?
6. Garbage inside the collection?
Stack/queue
1. removing elements from empty stack/queue
Linked list/Tree
1. null values for head/root
Loops
1. while loops running forever (properly incre./decre. pointers)
Recursion
1. recursion 1.000 call stack size is input too big?
GENERAL
1. empty inputs, null values, 0 length
2. one element inputs, super long inputs
3. unexpected data structures or types
4. trash in a collection
5. inputs violating assumed invariants
Constraints and corner cases checklist.
OOP
1. how many calls will we get for each?
2. Do we need caching if similar calls or similar work needs to be done?
3. what if the data object is empty before calling the remove/pop/top methods?
Strings
1. what if the string is empty, “ “, NULL, length is 1?
2. ASCII, Unicode UTF-8 (special chars)? Character encoding standards.
ProTip™, 👻, 60%, https://google.com3. spaces in string in the beginning or in the end?
4. will it contain special symbols?
5. only lower-case English characters, or?
6. sorted? can we sort it out?
7. max and min length of the string?
8. Tests: Zero, one, two, two to max-1, max, max+1
9. Can we use stack, queue, or heap? If duplicates maybe use stack?
Number (int, float)
1. zero? dividing by zero?
2. Can we have negative/positive numbers?
3. what is the range of integers? max and min integer?
4. do we have leading 0s?
5. what if we have floats?
6. Can we use bit manipulation? XOR?
Array
1. Mutable or immutable array?
2. Should it be in place? Or we need to return new one?
3. Items in array are all unique?
4. Do we have repeated items in array? OR can I use the same element twice?
5. Does array contain NULLs?
6. How to handle an empty array?
7. What would I do if the array is super large.
8. Can we sort the array?
9. Do we need to preserve ORDER?
Sorting algorithm
1. empty input, null input
2. element, very long input
3. duplicate elements (sort on a second condition?)
4. odd/even length input
5. Collection with all elements equal?
6. Garbage inside the collection?
Stack/queue
1. removing elements from empty stack/queue
Linked list/Tree
1. null values for head/root
Loops
1. while loops running forever (properly incre./decre. pointers)
Recursion
1. recursion 1.000 call stack size is input too big?
GENERAL
1. empty inputs, null values, 0 length
2. one element inputs, super long inputs
3. unexpected data structures or types
4. trash in a collection
5. inputs violating assumed invariants
👍2
#resource #algo
Topic: Data structures and algorithms study cheatsheets for coding interviews
https://www.techinterviewhandbook.org/algorithms/study-cheatsheet/
Topic: Data structures and algorithms study cheatsheets for coding interviews
https://www.techinterviewhandbook.org/algorithms/study-cheatsheet/
#algorithms ⭐️⭐️⭐️
Algos NEW learning plan for newcomers:
0. Skip this 🙂
1. LeetCode Explore. If LeetCode Explore seems difficult to you, start here maybe.
2. LeetCode Study Plan - Algo 1, DS 1, Programming skills 1
3. "Cracking the coding interview" Book
4. LeetCode Study Plan - Algo 2, DS 2, Programming skills 2
5. NeetCode
6. AlgoExpert videos
7. LeetCode - company name tagged questions
Algos NEW learning plan for newcomers:
0. Skip this 🙂
1. LeetCode Explore. If LeetCode Explore seems difficult to you, start here maybe.
2. LeetCode Study Plan - Algo 1, DS 1, Programming skills 1
3. "Cracking the coding interview" Book
4. LeetCode Study Plan - Algo 2, DS 2, Programming skills 2
5. NeetCode
6. AlgoExpert videos
7. LeetCode - company name tagged questions
❤1👍1
@Rustam-Z⚡️ pinned «#algorithms ⭐️⭐️⭐️ Algos NEW learning plan for newcomers: 0. Skip this 🙂 1. LeetCode Explore. If LeetCode Explore seems difficult to you, start here maybe. 2. LeetCode Study Plan - Algo 1, DS 1, Programming skills 1 3. "Cracking the coding interview" Book…»
👍1
How to answer system design interview questions
https://igotanoffer.com/blogs/tech/system-design-interview-questions
The most important system design concepts:
1. Network protocols and proxies
2. Databases
3. Latency, throughput, and availability
4. Load balancing
5. Leader election
6. Caching
7. Sharding
8. Polling, SSE, and WebSockets
9. Queues and pub-sub
#system_design
https://igotanoffer.com/blogs/tech/system-design-interview-questions
The most important system design concepts:
1. Network protocols and proxies
2. Databases
3. Latency, throughput, and availability
4. Load balancing
5. Leader election
6. Caching
7. Sharding
8. Polling, SSE, and WebSockets
9. Queues and pub-sub
#system_design
👍2❤1
#milestone Cool, 350 Solved Problems.
2023 plans regarding LeetCode:
1. 500 solved questions
2. 100 days streak
3. Take 3 monthly badges
2023 plans regarding LeetCode:
1. 500 solved questions
2. 100 days streak
3. Take 3 monthly badges
👍1🔥1
#resources
Требования к Junior, Middle, and Senior разработчикам в США
RU: https://youtu.be/s-O7sY1_W-M
Summary:
1. Intern
• Вы тот, кого компания хочет нанять на полный рабочий день?
• Вы любопытный и хотите учиться?
• Вы хорошо воспринимаете обратную связь?
• Вы хороший товарищ по команде?
2. Junior (Less than 1 year of experience)
• Оказывает влияние на небольшой кусок проекта/ фичи
• Несет ответственность за код всей фичи
• Пишет чистый, хорошо протестированный код. Не всегда оптимальное решение.
• Делает PR
• Принимает фидбэк
Требования:
• Работа с одним фреймворком
• Решение задач на Leetcode средней сложности
• Наличие pet-проекта или CS диплома
3. Middle (Min. 2 years of experience)
• Оказывает влияние на уровне проекта
• Контролирует качество и сроки реализации проекта, проверяет работу джунов и других мидлов.
Требования:
• Решение задач разной сложности на скорость
• Знания нюансов фреймворка или языка
• Четкое описание решения под конкретные требования
4. Senior (5 years of experience)
• Завершенный проект под вашим руководством
• Экспертиза во фреймворке или обширные знания в нескольких
• Глубокие знания нюансов фреймворка и языка
• Оказывает влияние на командном уровне
• Работает над более приоритетными
задачами команды
• Ведет команду к техническому росту
• Знает технические и бизнес аспекты проекта
• Общается с продакт менеджерами
Требования:
• Решение задач любой сложности
• Способность выяснить требования
• Четкое описание решения
• Оговорить ограничения
• Перечислить альтернативы
• Все продумать
Требования к Junior, Middle, and Senior разработчикам в США
RU: https://youtu.be/s-O7sY1_W-M
Summary:
1. Intern
• Вы тот, кого компания хочет нанять на полный рабочий день?
• Вы любопытный и хотите учиться?
• Вы хорошо воспринимаете обратную связь?
• Вы хороший товарищ по команде?
2. Junior (Less than 1 year of experience)
• Оказывает влияние на небольшой кусок проекта/ фичи
• Несет ответственность за код всей фичи
• Пишет чистый, хорошо протестированный код. Не всегда оптимальное решение.
• Делает PR
• Принимает фидбэк
Требования:
• Работа с одним фреймворком
• Решение задач на Leetcode средней сложности
• Наличие pet-проекта или CS диплома
3. Middle (Min. 2 years of experience)
• Оказывает влияние на уровне проекта
• Контролирует качество и сроки реализации проекта, проверяет работу джунов и других мидлов.
Требования:
• Решение задач разной сложности на скорость
• Знания нюансов фреймворка или языка
• Четкое описание решения под конкретные требования
4. Senior (5 years of experience)
• Завершенный проект под вашим руководством
• Экспертиза во фреймворке или обширные знания в нескольких
• Глубокие знания нюансов фреймворка и языка
• Оказывает влияние на командном уровне
• Работает над более приоритетными
задачами команды
• Ведет команду к техническому росту
• Знает технические и бизнес аспекты проекта
• Общается с продакт менеджерами
Требования:
• Решение задач любой сложности
• Способность выяснить требования
• Четкое описание решения
• Оговорить ограничения
• Перечислить альтернативы
• Все продумать