Има ли отделна операционна система в Pod?
Python
FastAPI позволява реализирането на функции както асинхронни, така и синхронни — как това влияе на поведението? Как да паралелизираме заявките в async функция?
Вижте функцията count_pairs. Каква е нейната сложност? Напишете по-ефективен вариант.
Какви видове и типове тестване на софтуер съществуват?
Разкажи ми за патърна Saga. Как го реализирахте при вас? Как уведомявахте услугите за отмяна?
broker = KafkaBroker("localhost:9092") app = FastStream(broker) @broker.subscriber("raw_texts_topic", group_id="text_parsers") async def handle_text(text_data: dict): # Анализ и запис в базата данни отнема около 10 секунди parse_text_and_save_to_postgres(text_data)
Защо е необходима инкапсулацията? Какви са рисковете при директен достъп до данните на обекта?
Напишете Dockerfile за Python приложение, което: - Използва последния образ на Python - Задава работната директория на /app - Копира съдържанието на текущата директория в контейнера - Инсталира зависимостите, изброени в requirements.txt - Отваря порт 8000 - Стартира приложението с командата: python app.py
Какво е инкапсулация? Какви са характеристиките от гледна точка на Python?
# Колко време отнема изпълнението на asyncio.run(main())?
Как да създадем структура от данни, в която не може да се вмъкват или променят стойности, но може да се получават по ключ?
Как да обработите блокираща функция от стара библиотека, за да не блокира цикъла на събитията?
async def get_user(user_id: int, db: AsyncSession): try: user = await db.get(User, user_id) return user finally: await db.close() return None a = await get_user(15, db) # a?
app = FastAPI() def get_db(): db = SessionLocal() try: yield db finally: db.close() def heavy_text_parser(file_id: int, db: Session): # Анализ на файл, който отнема 5 минути parse_and_save(file_id, db) @app.post("/upload") async def upload_file( background_tasks: BackgroundTasks, db: Session = Depends(get_db) ): file_id = save_file_to_db(db) db.commit() background_tasks.add_task(heavy_text_parser, file_id, db) return {"status": "parsing started"}
Какъв е обектът, който се връща от функция с `yield`, и каква е подходящата анотация за тип на връщане тук вместо `list[str]`?
Разкажете ни малко за себе си и вашия технически опит.
Как се нарича моделът, при който `Engine` се създава веднъж за приложението и управлява споделен пул от връзки?
Какво се случва, ако падне подът на Kafka клиента по време на обработката на съобщението преди потвърждаването на offset-а?
Какво е REST API?
Какви са предимствата на модулния монолит в сравнение с микросервизите в такава ситуация?