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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #1115 · 30.06

Uzum #interview#dev Вышли на меня сами через бывших коллег, которые теперь там работают. Вакансия тимлида на Java (ага). Uzum — это такой Яндекс/Ozon в Узбекистане. Бывшие выходцы из Сбера и Яндекса в 2022 году пришли в Узбекистан и обнаружили, что там огромный, но совершенно пустой рынок с точки зрения крутых удобных цифровых сервисов, к каким мы привыкли в России. Голубой океан, как говорят. Естественно, получили лавинообразный рост, который, как я понял, идёт до сих пор. Активно хантят новых людей, в том числе из России. В основном устроиться туда можно через регистрацию налогового резидентства в Узбекистане. Зарплату получать в долларах (в настоящее время не ясно, плюс это или минус). А дальше уже сам решаешь, как передавать себе деньги в Россию: есть легальные, но запарные способы. Секции на лида такие: 1. Общение с техлидом / скрининг 2. Языковая секция 3. System Design 4. Менеджмент 5. Финалка и фит с руководством, на который заглядывает CTO На скрининге техлид сказал, что помнит меня по Цифровому Прорыву 2019 (приятно). Обсудили проекты, компанию. Я сказал, что я шарпист, а не джавист. Поскольку провести языковую секцию по шарпу у них некому, решили вообще её пропустить. Как я понял, тимлид здесь выполняет технические функции опосредованно, поэтому опыт в языке нужен, но не обязательно ровно в том, на котором пишет команда. Тем более, на джаве я всё-таки чуть-чуть кодил, просто после шарпа возвращаться на неё это как пересесть на старую Ладу с новенькой иномарки: вроде ездит, но уже давно привык к другому уровню комфорта. System Design Нужно было встроить функцию в существующую систему. Два сервиса отвечают медленно, а поверх них требовалось спроектировать ещё один сервис, который отвечает теми же данными быстро. Вообще, в таких условиях способа всего два: подделывать данные или накапливать. Кажется, интервьюеру не сильно было важно, как именно я думаю, и какими элементами из собственного опыта пользуюсь. Когда я размышлял вслух над вариантами решения той или иной проблемы, у меня было впечатление, что интервьюер оценивает факт такого размышления отрицательно, ожидая более быстрый шаблонный ответ. Ещё проблем добавило то, что существующую систему никак нельзя было менять. Нельзя было добавлять нужные события к существующим сервисам, нельзя было обогащать атрибутивный состав и обновлять контракты. Но с горем пополам сошлись на чём-то, хотя послевкусие от секции осталось так себе. Менеджмент Вообще, я очень сильно не люблю менеджерские секции, потому что эта область не детерминирована. Окей, существуют какие-то конкретные методологии и некое подобие теории поверх деятельности по управлению процессами, но незнание этих методологий абсолютно ничего не говорит о способности человека вести команду. Как и знание. В целом, когда интервьюер третий раз задал один и тот же вопрос, я понял, что секцию мне не зачтут, потому что я не понимаю, что именно хотят от меня услышать. Было примерно так: Интервьюер: — Как ты понимаешь, работает ли команда хорошо или нет? Я: — Во-первых, я смотрю на скорость и качество результата их работы. Эти показатели противоречат друг другу, поэтому нужно обращать внимание на баланс. Во-вторых, смотрю, как много дополнительного ручного управления требует команда, как часто нужно подключаться, чтобы решить какую-то проблему внутри. Интервьюер: — Окей. И всё-таки, как ты понимаешь, что команда перформит? Я: — Эээ, ну я уже сказал. Скорость, качество, самостоятельность. Интервьюер: — Да, я понял, но как всё-таки понять, нормально команда работает или нет? Ещё я закладывал на секцию час, а потом увидел в приглашении, что планировалось полтора. У меня был следом другой собес, поэтому я честно сказал, что есть всего час (это было где-то через 40 минут после начала интервью, я заметил накладку не сразу). Поскольку интервьюер к этому моменту уже повторял одни и те же вопросы по кругу, я был уверен, что ещё полчаса нам в любом случае не нужны.

Резултати

Намерени 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