Python вопросы с собеседований
24.7K subscribers
508 photos
16 videos
17 files
404 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
加入频道
🖥 Умножение строк

Сложность: Средняя

Условие задачи:
Даны два неотрицательных целых числа num1 и num2, представленные в виде строк, вернуть произведение num1 и num2, также представленное в виде строки.

Примечание. Вы не должны использовать какую-либо встроенную библиотеку BigInteger или напрямую преобразовывать входные данные в целое число.

Пример:
Ввод: num1 = "2", num2 = "3"
Вывод: "6"

Ввод: num1 = "123", num2 = "456"
Вывод: "56088"

📌Решение

Пишите свое решение в комментариях👇

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Продвинутый парсинг на Python со сменой прокси

🎞 Video

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
52 Amazing Python Projects For Developers.pdf
710.2 KB
🔥 Более 50 крутых проектов на Python для практики с исходным кодом и подробными объяснениями, как мы любим.

Множество проектов, e-mail рассыльщик, парсеры, собственный Paint и многое другое.

@python_job_interview
🖥Многопоточный парсер на Python. ООП подход

🎞 Video

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
📧Python Атоматизация отправки email с selenium

Видео

@python_job_interview
🧠 5 задач с собеседований Amazon для Python-разработчиков

Составили подборку из 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
🖥 Полный курс по библиотеке Numpy. Урок 5: Продвинутые функции.

Видео
Код из видео
Часть 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
Переменная 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
Задача на сложение матриц

Уровень: новичок

Напишите функцию (без использования 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
🖥 Python+SQL часть2 создание таблиц.

Видео
Часть 1

@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
🖥 Задача: Неубывающий подмассив

Условие: дается целочисленный массив 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
🖥 Асинхронный парсер Хабра на Python

Видео
Код парсера

@python_job_interview
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

Решение
💡Задача: Монетообменик

Условие: дается массив, состоящий измонет определенного номинала, а также целевое значение суммы.

Необходимо высчитать наименьшее количество монет, которыми можно получить необходимую сумму или вернуть -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
🖥 Django начало работы

Video

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM