A build free-threaded, entregue como interpretador opcional desde o CPython 3.13, remove o GIL para que várias threads possam rodar bytecode Python em paralelo. Seu código passa a ser genuinamente concorrente, o que significa que as corridas que o GIL escondia agora são reais. Você precisa de locks explícitos em torno de estado mutável compartilhado, e precisa checar se cada extensão C da qual você depende tem suporte.
Por que os entrevistadores perguntam isso
Isso separa quem lê release notes de quem parou de aprender no Python 3.8. O entrevistador está checando se você sabe que o GIL está sendo removido como opção e não deletado de vez, se você entende o custo de ecossistema em torno das extensões nativas, e se você percebe que código que parecia seguro sob o lock antigo pode começar a corromper estado compartilhado quando as threads realmente rodam ao mesmo tempo.
Como estruturar sua resposta
- Diga que é uma build opcional, não o padrão.
- Explique que paralelismo ela destrava.
- Cite o novo peso de correção sobre estado compartilhado.
- Mencione a questão de compatibilidade das extensões.
Exemplo de resposta
O free threading chegou como build experimental na 3.13 e vem amadurecendo desde então, e o ponto principal é que é um interpretador separado no qual você opta, não algo que mudou silenciosamente para todo mundo. Sem o lock, duas threads podem rodar bytecode em dois cores ao mesmo tempo, então um pool de workers CPU bound finalmente escala sem pagar custo de startup de processo e de pickling. A troca é correção. Na build antiga, muito código desleixado se safava com updates de dict sem sincronização porque uma fronteira de bytecode raramente caía no lugar errado. Agora essas são corridas de dados de verdade e você precisa de um Lock ou de uma queue. Testei num job de scoring que estava distribuindo trabalho para quatro processos, e as threads deram throughput parecido com uma pegada de memória bem menor, já que o modelo ficava carregado uma vez em vez de quatro. O bloqueio para produção foram as extensões. Qualquer coisa com camada C precisa ser recompilada contra a ABI free threaded, então antes de subir isso eu auditaria a árvore de dependências e veria o que os mantenedores publicaram.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Como você encontraria uma corrida de dados em código Python?
- Qual é o custo de performance single threaded dessa build?
- Você subiria isso para produção hoje?
Mais perguntas para Desenvolvedor Python
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas