Please open Telegram to view this post
VIEW IN TELEGRAM
Составили подборку из 5 задач с собеседований в Amazon, IBM и Apple для Python-разработчиков для джунов и миддлов.
Они относительно несложные и подойдут для junior и middle программистов, а встретить задачки можно в том числе на собеседованиях в Apple, Samsung, Oracle и IBM.
1. Изменить порядок слов
Вам дана строка 's' с некоторым количеством слов N. Нужно сделать так, чтобы исходный порядок слов в строке изменился на обратный.
При этом в исходной строке между словами может быть множество пробелов, но в результате работы скрипта мы должны получить предложение с одним пробелом между словами, без пробелов в начале предложения и после его конца.
Время выполнения скрипта не должно превышать 1 секунду.
Решение:
Если строка равна нулю или пуста, в выводе должна появиться пустая строка. То же самое стоит сделать, если в исходной строке находится один пробел.
Инициализируйте String ans для хранения перевернутой строки.
Инициализируйте указатель на конец исходной строки и запускайте цикл while, пока указатель не достигнет начала строки.
Если в строке встречается несколько пробелов, уменьшите указатель.
Добавьте пробелы в строку ans. После этого запустите вложенный цикл while, чтобы извлечь текущее слово из ans в вывод.
После прохождения всей строки верните ответ.
'''
Time Complexity = O(N)
Space Complexity = O(N)
Where N is the length of the string.
'''
def reverseString(str: str) -> str:
# if the string is " " then return "".
if(str == "" or str == " "):
return ""
ans = ''
start = len(str) - 1
while(start >= 0):
# Skip multiple spaces.
if(str[start] == ' '):
start-=1
else:
# Add space between words.
if(len(ans) > 0):
ans += (' ')
j = start
while(j >= 0 and str[j] != ' '):
j-=1
# add current word to ans.
ans += (str[j+1: j+1+start-j])
start = j
return ans
2. Сумма всех чисел до N
Вам дано число N. Напишите скрипт, который считал бы сумму всех четных чисел в промежутке от 1 до N, включая N. К примеру, если N равняется 6, то вывод должен быть равен 2+4+6, то есть 12.
Решение:
Нам нужно вывести формулу для вычисления суммы четных чисел до числа 'N'.
Пусть задано число N. Тогда общее количество четных чисел от 1 до N будет равно N/2. Например, для 4 список четных чисел будет равен 2 и 4, а их количество равно 2.
Последовательность четных чисел до N образует арифметическую прогрессию с общей разницей D между числами в 2, первым элементом A = 2, и количеством элементов N, равным N/2, как доказано выше.
Сумма арифметической прогрессии равна (N/2)*(A+L), где N — количество элементов, а L — последнее число, которое также можно записать как A + (N - 1)D.
Таким образом, сумма равна
(N/2*2) * (2 + 2 + (N/2 - 1)*2) = (N/2) * (1 + 1 + N/2 - 1) = (N/2) * (N/2 + 1).
'''
Time Complexity : O(1)
Space Complexity : O(1)
'''
def evenSumTillN(n):
# Calculate the sum.
sum = (n // 2) * (n // 2 + 1)
return sum
📌Остальные
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
▪Видео
▪Код из видео
▪Часть 1
▪Часть 2
▪Часть 3
▪Часть4
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира Python за неделю
Почитать:
— Django или Fast API: выбираем Python-фреймворк для веб-разработки
— Что нового в Pandas 2.1
— Готовые скрипты Python
— Интеграция Telegram ботов в Django приложениях
— 6 развлекательных проектов на Python: от шаверма-бота до игры в слова
— 9 лучших консольных файловых менеджеров Linux
— Управление сервоприводами, часть 2. Управляем сервоприводами с помощью серво-контроллера через USB любых компьютеров
— Клонирование голоса, замена лица по фото, удаления объектов в видео и все в одном open-source проекте Wunjo AI
— Эластичный DAG или «гнём, где не гнулось»
— Как понять, что клиента пора реактивировать?
— Анализ данных с использованием библиотеки Dask
— Взгляд на телеграм-ботов изнутри
— Учим ИИ чатбота слушать и говорить
— Создание интерактивных аналитических панелей с помощью Python Streamlit
— Deploying Apps on Render
— Mastering ZIP File Handling in Python: Reading and Creating Zip Archives
— The Minion Game - HackerRank Solution Python
— Iterables and Iterators - HackerRank Solution Python
— Regex Substitution - HackerRank Solution Python
— How to Solve the "No Idea!" Challenge in Python
— 🌐 UN Goals : Education & Gender Equity ⚖️
— Starting my Journey in Open Source
— Created a toggle_state_button with PyQt5
— Accelerating Releases with Pulumi: My Proxy Project Journey
Посмотреть:
🌐 HTMX заменит Frontend?! WTF? (⏱ 12:12)
🌐 Полный курс по библиотеке Numpy. Матрицы (⏱ 11:24)
🌐 Уроки Golang с нуля /#26 - Обработка ошибок (⏱ 08:14)
🌐 Python+SQL работа с базами данных. (⏱ 11:10)
🌐 Полный курс по библиотеке Numpy. Полезные функции (⏱ 11:05)
🌐 Полный курс по библиотеке Numpy. Применение Numpy (⏱ 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла (⏱ 15:55)
🌐 Python Атоматизация отправки email с selenium (⏱ 04:59)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами (⏱ 07:28)
🌐 Python анализ данных с Pandas. (⏱ 17:04)
🌐 【作業配信】ろっきーさんの新ビジュアル仕上げていくぅ~!龍角散と共に・・・! (⏱ 01:34:00)
🌐 Задание 8 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 08:55)
🌐 Задание 9 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 09:11)
🌐 Задание 10 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 02:16)
🌐 Задание 11 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 04:18)
🌐 Задача с собеседования на Junior Python разработчика #shorts #python (⏱ 00:48)
🌐 Как узнать процент заряда батареи с помощью Python #shorts (⏱ 00:45)
Хорошего дня!
@python_job_interview
Почитать:
— Django или Fast API: выбираем Python-фреймворк для веб-разработки
— Что нового в Pandas 2.1
— Готовые скрипты Python
— Интеграция Telegram ботов в Django приложениях
— 6 развлекательных проектов на Python: от шаверма-бота до игры в слова
— 9 лучших консольных файловых менеджеров Linux
— Управление сервоприводами, часть 2. Управляем сервоприводами с помощью серво-контроллера через USB любых компьютеров
— Клонирование голоса, замена лица по фото, удаления объектов в видео и все в одном open-source проекте Wunjo AI
— Эластичный DAG или «гнём, где не гнулось»
— Как понять, что клиента пора реактивировать?
— Анализ данных с использованием библиотеки Dask
— Взгляд на телеграм-ботов изнутри
— Учим ИИ чатбота слушать и говорить
— Создание интерактивных аналитических панелей с помощью Python Streamlit
— Deploying Apps on Render
— Mastering ZIP File Handling in Python: Reading and Creating Zip Archives
— The Minion Game - HackerRank Solution Python
— Iterables and Iterators - HackerRank Solution Python
— Regex Substitution - HackerRank Solution Python
— How to Solve the "No Idea!" Challenge in Python
— 🌐 UN Goals : Education & Gender Equity ⚖️
— Starting my Journey in Open Source
— Created a toggle_state_button with PyQt5
— Accelerating Releases with Pulumi: My Proxy Project Journey
Посмотреть:
🌐 HTMX заменит Frontend?! WTF? (⏱ 12:12)
🌐 Полный курс по библиотеке Numpy. Матрицы (⏱ 11:24)
🌐 Уроки Golang с нуля /#26 - Обработка ошибок (⏱ 08:14)
🌐 Python+SQL работа с базами данных. (⏱ 11:10)
🌐 Полный курс по библиотеке Numpy. Полезные функции (⏱ 11:05)
🌐 Полный курс по библиотеке Numpy. Применение Numpy (⏱ 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла (⏱ 15:55)
🌐 Python Атоматизация отправки email с selenium (⏱ 04:59)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами (⏱ 07:28)
🌐 Python анализ данных с Pandas. (⏱ 17:04)
🌐 【作業配信】ろっきーさんの新ビジュアル仕上げていくぅ~!龍角散と共に・・・! (⏱ 01:34:00)
🌐 Задание 8 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 08:55)
🌐 Задание 9 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 09:11)
🌐 Задание 10 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 02:16)
🌐 Задание 11 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 04:18)
🌐 Задача с собеседования на Junior Python разработчика #shorts #python (⏱ 00:48)
🌐 Как узнать процент заряда батареи с помощью Python #shorts (⏱ 00:45)
Хорошего дня!
@python_job_interview
Переменная s - строка. Нужно ее обратить, получив строку задом наперед.
Какой вариант не позволяет это сделать?
Какой вариант не позволяет это сделать?
Anonymous Quiz
31%
s[::-1]
13%
''.join(reversed(s))
22%
str(reduce(lambda acc, x: x + acc, s))
21%
s.reverse()
13%
Посмотреть результаты
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Data Science: t.me/data_analysis_ml
Java: t.me/javatg
Базы данных: t.me/sqlhub
Машинное обучение: t.me/ai_machinelearning_big_data
Go: t.me/Golang_google
C/C++/ t.me/cpluspluc
C#: t.me/csharp_ci
Хакинг: t.me/linuxkalii
Мобильная разработка: t.me/mobdevelop
Docker: t.me/+0WdB4uvOwCY0Mjdi
Python: t.me/pythonl
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Devops: t.me/devOPSitsec
Тестирование:https://yangx.top/+F9jPLmMFqq1kNTMy
Собеседования: https://yangx.top/machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
ИИ: t.me/vistehno
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
Data Science: t.me/data_analysis_ml
Java: t.me/javatg
Базы данных: t.me/sqlhub
Машинное обучение: t.me/ai_machinelearning_big_data
Go: t.me/Golang_google
C/C++/ t.me/cpluspluc
C#: t.me/csharp_ci
Хакинг: t.me/linuxkalii
Мобильная разработка: t.me/mobdevelop
Docker: t.me/+0WdB4uvOwCY0Mjdi
Python: t.me/pythonl
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Devops: t.me/devOPSitsec
Тестирование:https://yangx.top/+F9jPLmMFqq1kNTMy
Собеседования: https://yangx.top/machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
ИИ: t.me/vistehno
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
Задача на сложение матриц
Уровень: новичок
Напишите функцию (без использования
// returns:
[ [3, 4, 4],
[6, 4, 4],
[2, 2, 4] ]
#junior #numpy
Пишите свое решение в комментариях👇
@python_job_interview
Уровень: новичок
Напишите функцию (без использования
numpy.matrix.sum())
, которая складывает две квадратные матрицы и возвращает их сумму. Все элементы матриц — целочисленные значения.
matrixAddition(
[ [1, 2, 3],
[3, 2, 1],
[1, 1, 1] ],
// +
[ [2, 2, 1],
[3, 2, 3],
[1, 1, 3] ] )
// returns:
[ [3, 4, 4],
[6, 4, 4],
[2, 2, 4] ]
#junior #numpy
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дано дерево (т.е. связный неориентированный граф, не имеющий циклов), состоящее из n узлов с числом от 0 до n - 1 и ровно n - 1 ребер. Корнем дерева является узел 0, и каждый узел дерева имеет метку, которая представляет собой символ нижнего регистра, указанный в строковых метках (т.е. узел с номером i имеет метку labels[i]).
Массив ребер задан на ребрах фермы[i] = [ai, bi], что означает наличие ребра между узлами ai и bi в дереве.
Возвращает массив размера n, где и[i] - количество узлов в поддереве узла земли, которые имеют ту же метку, что и узел i.
Поддерево дерева - это дерево, состоящее из узла в T и всех его дочерних узлов.
Пример:
Ввод:
n = 7, edges = [[0,1],[0,2],[1,4],[1,5],[2,3],[2,6]], labels = "abaedcd"
Вывод:
[2,1,1,1,1,1,1]
Объяснение:
Ввод:
n = 4, edges = [[0,1],[1,2],[0,3]], labels = "bbbb"
Вывод:
[4,2,1,1]
📌Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
📹 Устраиваемся на работу. Решаем тестовое задание на позицию Python Junior.
▪Видео
▪Задание
▪ Код из видео
▪Тест
▪ Список реальных тестовых заданий с собеседований.
@python_job_interview
▪Видео
▪Задание
▪ Код из видео
▪Тест
▪ Список реальных тестовых заданий с собеседований.
@python_job_interview
Условие: дается целочисленный массив nums, верните все различные возможные неубывающие подпоследовательности данного массива, по крайней мере, с двумя элементами. Вы можете вернуть ответ в любом порядке.
Пример:
Ввод: nums = [4,6,7,7]
Вывод: [[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]
Ввод: nums = [4,4,3,2,1]
Вывод: [[4,4]]
Решение
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Данный урок раскроет способы обеспечения безопасности телеграм-бота на Python.
• Видео
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача: Даны 2 списка
preorder
и inorder
, где preorder
- центрированный порядок дерева (сenter > left > rigth), inorder -
прямой проход (left > center > right)
. Оба - описывают структуру одного дерева, необходимо сконструировать бинарное дерево.Пример:
Ввод: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
Вывод: [3,9,20,null,null,15,7]
Ввод: preorder = [-1], inorder = [-1]
Вывод: [-1]
Пишите свое решение в комментариях👇
📌Решение
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💡Задача: Змеи и лестницы
Условие: дается доска с целочисленной матрицей n x n, где ячейки помечены от 1 до n2 в стиле бустрофедона, начиная с нижнего левого края доски (т.е. доска [n - 1] [0]) и чередуя направление каждой строки.
Вы начинаете с квадрата 1 на доске. В каждом ходе, начиная с квадратного поворота, выполняйте следующее:
Выберите целевой квадрат рядом с меткой в диапазоне [curr + 1, min(curr + 6, n2)].
Если рядом есть змея или лестница, вы должны перейти к месту назначения этой змеи или лестницы. В противном случае вы переходите к следующему.
Игра заканчивается, когда вы достигаете квадрата n2.
Верните наименьшее количество ходов, необходимых для достижения квадрата n2. Если добраться до квадрата невозможно, верните значение -1.
Пример:
Ввод: board = [[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,35,-1,-1,13,-1],[-1,-1,-1,-1,-1,-1],[-1,15,-1,-1,-1,-1]]
Вывод: 4
Ввод: board = [[-1,-1],[-1,3]]
Вывод: 1
Решение
Условие: дается доска с целочисленной матрицей n x n, где ячейки помечены от 1 до n2 в стиле бустрофедона, начиная с нижнего левого края доски (т.е. доска [n - 1] [0]) и чередуя направление каждой строки.
Вы начинаете с квадрата 1 на доске. В каждом ходе, начиная с квадратного поворота, выполняйте следующее:
Выберите целевой квадрат рядом с меткой в диапазоне [curr + 1, min(curr + 6, n2)].
Если рядом есть змея или лестница, вы должны перейти к месту назначения этой змеи или лестницы. В противном случае вы переходите к следующему.
Игра заканчивается, когда вы достигаете квадрата n2.
Верните наименьшее количество ходов, необходимых для достижения квадрата n2. Если добраться до квадрата невозможно, верните значение -1.
Пример:
Ввод: board = [[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1],[-1,35,-1,-1,13,-1],[-1,-1,-1,-1,-1,-1],[-1,15,-1,-1,-1,-1]]
Вывод: 4
Ввод: board = [[-1,-1],[-1,3]]
Вывод: 1
Решение
💡Задача: Монетообменик
Условие: дается массив, состоящий измонет определенного номинала, а также целевое значение суммы.
Необходимо высчитать наименьшее количество монет, которыми можно получить необходимую сумму или вернуть -1 в случае невозможности.
Количество монет не ограничено.
Пример:
Ввод: coins = [1,2,5], amount = 11
Вывод: 3
Объяснение: 11 = 5 + 5 + 1
Ввод: coins = [2], amount = 3
Вывод: -1
Ввод: coins = [1], amount = 0
Вывод: 0
Решение
Пишите свое решение в комментариях👇
📌Решение
@python_job_interview
Условие: дается массив, состоящий измонет определенного номинала, а также целевое значение суммы.
Необходимо высчитать наименьшее количество монет, которыми можно получить необходимую сумму или вернуть -1 в случае невозможности.
Количество монет не ограничено.
Пример:
Ввод: coins = [1,2,5], amount = 11
Вывод: 3
Объяснение: 11 = 5 + 5 + 1
Ввод: coins = [2], amount = 3
Вывод: -1
Ввод: coins = [1], amount = 0
Вывод: 0
Решение
Пишите свое решение в комментариях👇
📌Решение
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача для новичков.
Вы работаете на производстве, и вас попросили рассчитать общую прибыль, полученную от продажи продукта. Вам дали словарь, содержащий данные о себестоимости единицы продукции (в долларах), цене продажи единицы продукции (в долларах) и начальных товарных запасах. Верните общую полученную прибыль, округленную до целого доллара
Пример:
1. Предполагаем, что все запасы были проданы.
2. Прибыль = общая сумма продаж – общая себестоимость
Пишите ваши варианты решения в комментах👇
@python_job_interview
Вы работаете на производстве, и вас попросили рассчитать общую прибыль, полученную от продажи продукта. Вам дали словарь, содержащий данные о себестоимости единицы продукции (в долларах), цене продажи единицы продукции (в долларах) и начальных товарных запасах. Верните общую полученную прибыль, округленную до целого доллара
Пример:
profit({
"cost_price": 32.67,
"sell_price": 45.00,
"inventory": 1200
}) ➞ 14796
profit({
"cost_price": 225.89,
"sell_price": 550.00,
"inventory": 100
}) ➞ 32411
profit({
"cost_price": 2.77,
"sell_price": 7.95,
"inventory": 8500
}) ➞ 44030
Примечание:1. Предполагаем, что все запасы были проданы.
2. Прибыль = общая сумма продаж – общая себестоимость
Пишите ваши варианты решения в комментах👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM