Python
In your opinion, are all statistical quality metrics considered the same, or do they have nuances?
Do you have experience working as a solo developer, where you had to receive tasks, think through, plan, propose solutions, and implement?
How do you solve the problem of event duplication and inconsistency between the database and Kafka?
What is a JOIN in databases, and what types are there?
How did you get into Lanit through an internship? Did you go through a competition, how were you selected?
Can you tell more about deployment — specifically about blue-green deploy: what does a developer need to prepare in the codebase for this?
How to make two asyncio.sleep(5) run in 5 seconds instead of 10?
How many seconds will a function with two consecutive await asyncio.sleep(5) calls take to run?
Tell me what you know about message queues, message brokers. Which ones do you know, which have you used?
If you make a return of the connection inside a context manager, will it be open or closed?
How were tasks distributed in the Lanit team — were they assigned by the team lead or could you choose them yourself? What was the most interesting part?
Are you referring specifically to Python? Loose coupling is about threads or processes, what should be divided?
How do you generally evaluate the team approach: BDD, FastAPI, geographic separation of the system?
What will the code yield with the operation y = (2**100 + 1) - x, where x = float(2**100)?
class C: def __init__(self, x): self.x = x def calculate(self): return self.x * 2 + 1 class A(C): def __init__(self, x, y): super().__init__(x) self.y = y def calculate(self): return super().calculate() + self.y class B(A): def __init__(self, x, y, z): super().__init__(x, y) self.z = z def calculate(self): return self.z - super().calculate() a = C(2) b = A(4, 7) c = B(1, 3, 5) print(a.calculate()) print(b.calculate()) print(c.calculate())
How does a transaction work? What happens during BEGIN and COMMIT?
Tell us about your experience: what projects have you worked on, I see retail was also present in the form of Magnit?
""" A set of city pairs: - each pair has a direct flight; - the direction of the flight is unknown; - the order of flights is also lost. It is known that all flights belong to one trip. Each subsequent flight starts from the city where the previous one ended. No city was visited twice by the employee. The starting city of the journey is different from the ending city. Output the cities in order of the route. There are two possible answers, any one will do. Examples: ["Moscow", "Belgrade"] -> ["Moscow", "Belgrade"] [("Moscow", "Belgrade"), ("Moscow", "Yerevan")] -> ["Yerevan", "Moscow", "Belgrade"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ..."""
How do you learn new technologies and tools? Is there a plan (roadmap) or is it situational? Give an example of what you have learned in the last six months.
Let's reason logically: what could be a wrong database migration that causes a 500 error when switching to an old app version (for example, if a column and the code referencing it are deleted simultaneously)? How to avoid this?