TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #1118 · 2.07

Т-Банк #interview#dev | часть 1 из 3 Компания, в которую я целился с самого начала. Если в другие места я иногда проходил собесы либо для тренировки, либо для получения запасных офферов, то сюда я сразу решил, что хочу попасть. Подался через знакомство. Система у них такая: собесят не на конкретную вакансию, а на должность, а потом ищут вакансию внутри. На должность тимлида надо было пройти: менеджмент, любой язык, систем дизайн, фит с руководителем и командой. На скрининге эйчар спросил меня, готов ли я перейти на джаву. Запомните этот момент, я ответил, что не готов, и хотел бы оставаться в рамках привычного мне стека. Перед каждой секцией эйчар высылал страницу со ссылками и рекомендациями, как готовиться, это сразу плюс. Там чаще всего были названия книг и ссылки на видеоролики с мок-собеседованиями. Менеджмент Опять же, я не понимаю, как его оценивать, и какой вопрос можно задать, чтобы отличить сеньор-менеджера от мидл-менеджера. Но, возможно, я как раз и не понимаю, потому что я не менеджер. В целом интервью прошло приятно, собеседующий поспрашивал про мой опыт, предложил решить некоторые кейсы. В процессе он намекнул, что тимлид, скорее всего, сам код писать не будет совсем, что меня не очень обрадовало. Позже я узнал, что прошёл секцию на junior+. Не знаю, хорошо или плохо, вообще не понимаю, как сравнивать менеджеров, но для тимлида этого у них хватает. Ещё из Т-Банка после каждой секции поступала достаточно подробная обратная связь с рекомендациями литературы. Круто, нигде такого не было. Я был воодушевлён после этой секции и сразу купил книгу, которую посоветовали по результатам. Языковая секция По структуре точно такая же, как в Ozon: показывают на экране задачи, нужно решить, пишешь код сам, параллельно обсуждаете. Тут я блистал, потому что был очень хорошо готов. Я за секунды щёлкал все типовые вопросы, предугадывал уточнения интервьюера, пускался в неожиданную глубину устройства языка... Задача по SQL попалась в точности такая же, как в Ozon. Если помните, там я на ней затупил, но позже я конечно же обсудил все наилучшие варианты решения с DeepSeek и попробовал сам. Поэтому к некоторому удивлению интервьюера я лихо применил оконную функцию, вслух проговорив альтернативные способы. Кстати, здесь, в отличие от Озона, SQL-код можно было запускать и смотреть результат промежуточного запроса, это важный положительный аспект. Одна из задач была такая же, как в мок-интервью на ютубе, поэтому её я тоже знал. Потом буквально на полминуты притормозил на работе замыканий, но в итоге тоже дал верный ответ. По собственным ощущениям я прошёл секцию идеально. Слишком идеально для человека. Слишком быстро и безошибочно на всё отвечал. Боялся, что подумают, будто бы мне подсказывал ИИ. В качестве обратной связи получил рекомендацию перечитать Рихтера, что тоже хороший знак: если тебе из рекомендаций советуют только адски задротную низкоуровневую литературу, значит, на всё более человеческое ты ответил прекрасно. Много позже я узнал, что мне засчитали middle+. Что??? Я даже предложил эйчару совместно с каким-нибудь крупным техлидом пересмотреть запись собеса, настолько был поражён. Но в целом, это не очень важно, потому что общий грейд к тому моменту по всем секциям у меня был сеньорный. Просто непонятно и обидно. System Design Секция с самого начала пошла очень хорошо. Знакомый мне по пет-проектам и конкурсам домен: отслеживание курьеров на карте. Никаких абсурдных требований типа миллиарда запросов в секунду. Я с первых минут обсудил с интервьюером использование MongoDB ради геопространственных индексов, и, судя по всему, сразу же получил от него негласный респект. Удалось эффективно решить все проблемы, хорошо выбрать технологии. Никаких подводных камней, секцию прошёл на сеньора без вопросов.

Резултати

Намерени 3 подобни публикации

Търсене: #concurrent

当前筛选 #concurrent清除筛选
djangoproject

@djangoproject · Post #90 · 11.07.2016 г., 11:56

https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Executor 17.4.1. #Executor Objects class #concurrent.futures.Executor An abstract class that provides methods to execute calls asynchronously. It should not be used directly, but through its concrete subclasses. submit(fn, *args, **kwargs) Schedules the callable, fn, to be executed as fn(*args **kwargs) and returns a Future object representing the execution of the callable. with ThreadPoolExecutor(max_workers=1) as executor: future = executor.submit(pow, 323, 1235) print(future.result()) map(func, *iterables, timeout=None, chunksize=1) Equivalent to #map(func, *iterables) except func is executed asynchronously and several calls to func may be made concurrently. The returned iterator raises a concurrent.futures.TimeoutError if __next__() is called and the result isn’t available after timeout seconds from the original call to #Executor.map(). timeout can be an int or a float. If timeout is not specified or None, there is no limit to the wait time. If a call raises an exception, then that exception will be raised when its value is retrieved from the iterator. When using ProcessPoolExecutor, this method chops iterables into a number of chunks which it submits to the pool as separate tasks. The (approximate) size of these chunks can be specified by setting chunksize to a positive integer. For very long iterables, using a large value for chunksize can significantly improve performance compared to the default size of 1. With ThreadPoolExecutor, chunksize has no effect. Changed in version 3.5: Added the chunksize argument.

djangoproject

@djangoproject · Post #261 · 16.02.2017 г., 06:56

http://www.giantflyingsaucer.com/blog/?p=5557 In spring 2014 Python 3.4 shipped a provisional package (#asyncio) which according to the docs “provides infrastructure for writing single-threaded #concurrent code using #coroutines, #multiplexing I/O access over #sockets and other resources, running network clients and servers, and other related primitives“. I can’t possibly cover everything in this article but I can introduce some of the things you can do with it. As per my New’s Years resolution I’ll be building these #examples using Python 3.4.2 (Asyncio has been ported back to Python 3.3 now as well).

djangoproject

@djangoproject · Post #290 · 04.04.2017 г., 21:36

https://pymotw.com/3/asyncio/executors.html Combining Coroutines with Threads and Processes A lot of existing libraries are not ready to be used with #asyncio natively. They may block, or depend on concurrency features not available through the module. It is still possible to use those libraries in an application based on asyncio by using an #executor from #concurrent.futures to run the code either in a separate thread or a separate process. #Threads The #run_in_executor() method of the event loop takes an executor instance, a regular callable to invoke, and any arguments to be passed to the callable. It returns a Future that can be used to wait for the function to finish its work and return something. If no executor is passed in, a #ThreadPoolExecutor is created. This example explicitly creates an executor to limit the number of worker threads it will have available. #Processes A ProcessPoolExecutor works in much the same way, creating a set of worker #processes instead of threads. Using separate processes requires more system resources, but for computationally-intensive operations it can make sense to run a separate task on each CPU core. #learn