Preparamos as Perguntas e Respostas da Entrevista Python mais frequentes que o ajudarão a se preparar para as perguntas da entrevista sobre Python que um entrevistador pode fazer durante sua entrevista. Nesta lista de perguntas da entrevista de script Python, cobrimos todas as perguntas de programação Python básicas e avançadas comumente feitas com respostas detalhadas para ajudá-lo a limpar a entrevista de emprego facilmente.
Cobrimos quase todas as perguntas importantes da entrevista de Python para caloiros e candidatos experientes para ajudá-lo a se preparar para a próxima entrevista. Este guia detalhado de perguntas da entrevista de codificação Python irá ajudá-lo a decifrar sua entrevista de emprego para programação Python.
Baixe o PDF de perguntas da entrevista em Python
Perguntas e respostas da entrevista básica sobre Python para novatos e experientes
1) O que é Python? Quais são os benefícios de usar Python?
Python é uma linguagem de programação com objetos, módulos, threads, exceções e gerenciamento automático de memória. Os benefícios do pythons são que ele é simples e fácil, portátil, extensível, estrutura de dados embutida e é um código aberto.
2) O que é PEP 8?
PEP 8 é uma convenção de codificação, um conjunto de recomendações, sobre como escrever seu código Python mais legível.
3) O que é decapagem e decapagem?
O módulo Pickle aceita qualquer objeto Python e o converte em uma representação de string e o despeja em um arquivo usando a função de despejo. Este processo é chamado de decapagem. Enquanto o processo de recuperação de objetos Python originais da representação de string armazenada é chamado de remoção de piche.
4) Como Python é interpretado?
A linguagem Python é uma linguagem interpretada. O programa Python é executado diretamente do código-fonte. Ele converte o código-fonte que é escrito pelo programador em uma linguagem intermediária, que é novamente traduzida para a linguagem de máquina que deve ser executada.
5) Como a memória é gerenciada no Python?
- A memória do Python é gerenciada pelo espaço de heap privado do Python. Todos os objetos Python e estruturas de dados estão localizados em um heap privado. O programador não tem acesso a esse heap privado e o interpretador cuida desse heap privado do Python.
- A alocação de espaço de heap Python para objetos Python é feita pelo gerenciador de memória Python. A API principal dá acesso a algumas ferramentas para o programador codificar.
- Python também tem um coletor de lixo embutido, que recicla toda a memória não utilizada e libera a memória e a torna disponível para o espaço de heap.
6) Quais são as ferramentas que ajudam a encontrar bugs ou realizar análises estáticas?
PyChecker é uma ferramenta de análise estática que detecta os bugs no código-fonte do Python e avisa sobre o estilo e a complexidade do bug. Pylint é outra ferramenta que verifica se o módulo atende ao padrão de codificação.
7) O que são decoradores Python?
Um decorador Python é uma mudança específica que fazemos na sintaxe Python para alterar funções facilmente.
8) Qual é a diferença entre lista e tupla?
A diferença entre lista e tupla é que a lista é mutável, enquanto a tupla não. A tupla pode ser hash, por exemplo, como uma chave para dicionários.
9) Como os argumentos são passados por valor ou por referência?
Tudo em Python é um objeto e todas as variáveis contêm referências aos objetos. Os valores de referência estão de acordo com as funções; como resultado, você não pode alterar o valor das referências. No entanto, você pode alterar os objetos se for mutável.
10) O que são as compreensões Dict e List?
Eles são construções de sintaxe para facilitar a criação de um Dicionário ou Lista com base em iteráveis existentes.
11) Quais são os tipos integrados que o python fornece?
Existem tipos mutáveis e imutáveis de Pythons incorporados em tipos Tipos internos mutáveis
- Lista
- Jogos
- Dicionários
Tipos integrados imutáveis
- Cordas
- Tuplas
- Números
12) O que é namespace em Python?
Em Python, cada nome introduzido tem um lugar onde vive e pode ser fisgado. Isso é conhecido como namespace. É como uma caixa onde o nome de uma variável é mapeado para o objeto colocado. Sempre que a variável é pesquisada, esta caixa será pesquisada, para obter o objeto correspondente.
13) O que é lambda em Python?
É uma função anônima de expressão única frequentemente usada como função embutida.
14) Por que as formas lambda em python não têm instruções?
Um formulário lambda em python não possui instruções, pois é usado para criar novos objetos de função e retorná-los em tempo de execução.
15) O que é passagem em Python?
Passar significa uma instrução Python sem operação, ou em outras palavras, é um marcador de posição na instrução composta, onde deve haver um espaço em branco e nada precisa ser escrito lá.
16) Em Python, o que são iteradores?
Em Python, os iteradores são usados para iterar um grupo de elementos, contêineres como lista.
17) O que é unittest em Python?
Uma estrutura de teste de unidade em Python é conhecida como teste de unidade. Ele suporta compartilhamento de configurações, teste de automação, código de desligamento para testes, agregação de testes em coleções, etc.
18) Em Python, o que é fatiar?
Um mecanismo para selecionar uma variedade de itens de tipos de sequência como lista, tupla, strings etc. é conhecido como corte.
19) O que são geradores em Python?
A maneira de implementar iteradores é conhecida como geradores. É uma função normal, exceto que produz expressão na função.
20) O que é docstring em Python?
Uma string de documentação Python é conhecida como docstring, é uma forma de documentar funções, módulos e classes Python.
21) Como você pode copiar um objeto em Python?
Para copiar um objeto em Python, você pode tentar copy.copy () ou copy.deepcopy () para o caso geral. Você não pode copiar todos os objetos, mas a maioria deles.
22) O que é índice negativo em Python?
As sequências Python podem ser indexadas em números positivos e negativos. Para índice positivo, 0 é o primeiro índice, 1 é o segundo índice e assim por diante. Para índices negativos, (-1) é o último índice e (-2) é o penúltimo índice e assim por diante.
23) Como você pode converter um número em uma string?
Para converter um número em uma string, use a função embutida str (). Se você quiser uma representação octal ou hexadecimal, use a função embutida oct () ou hex ().
24) Qual é a diferença entre Xrange e range?
Xrange retorna o objeto xrange enquanto range retorna a lista e usa a mesma memória, independentemente do tamanho do intervalo.
25) O que é módulo e pacote em Python?
Em Python, módulo é a maneira de estruturar o programa. Cada arquivo de programa Python é um módulo, que importa outros módulos, como objetos e atributos.
A pasta do programa Python é um pacote de módulos. Um pacote pode ter módulos ou subpastas.
26) Mencione quais são as regras para variáveis locais e globais em Python?
Variáveis locais : se uma variável recebe um novo valor em qualquer lugar dentro do corpo da função, ela é considerada local.
Variáveis globais : aquelas variáveis que são referenciadas apenas dentro de uma função são implicitamente globais.
27) Como você pode compartilhar variáveis globais entre módulos?
Para compartilhar variáveis globais entre módulos em um único programa, crie um módulo especial. Importe o módulo de configuração em todos os módulos do seu aplicativo. O módulo estará disponível como uma variável global entre os módulos.
28) Explique como você pode fazer um Python Script executável no Unix?
Para tornar um Python Script executável no Unix, você precisa fazer duas coisas,
- O modo do arquivo de script deve ser executável e
- a primeira linha deve começar com # (#! / usr / local / bin / python)
29) Explicar como deletar um arquivo em Python?
Usando um comando os.remove (nome do arquivo) ou os.unlink (nome do arquivo)
30) Explique como você pode gerar números aleatórios em Python?
Para gerar números aleatórios em Python, você precisa importar o comando como
importar aleatório
random.random ()
Isso retorna um número de ponto flutuante aleatório no intervalo [0,1)
31) Explique como você pode acessar um módulo escrito em Python a partir de C?
Você pode acessar um módulo escrito em Python a partir de C seguindo o método,
Module = = PyImport_ImportModule ("
32) Mencionar o uso do operador // em Python?
É um operador de divisão de piso, que é usado para dividir dois operandos com o resultado como quociente mostrando apenas dígitos antes da vírgula decimal. Por exemplo, 10 // 5 = 2 e 10,0 // 5,0 = 2,0.
33) Mencionou cinco benefícios de usar Python?
- Python é composto por uma enorme biblioteca padrão para a maioria das plataformas da Internet, como e-mail, HTML, etc.
- Python não requer gerenciamento de memória explícito, pois o próprio interpretador aloca a memória para novas variáveis e as libera automaticamente
- Fornece legibilidade fácil devido ao uso de colchetes
- Fácil de aprender para iniciantes
- Ter os tipos de dados integrados economiza tempo de programação e esforço na declaração de variáveis
34) Menciona o uso da função split em Python ?
O uso da função de divisão em Python é que ela divide uma string em strings mais curtas usando o separador definido. Ele fornece uma lista de todas as palavras presentes na string.
35) Explique o que é Flask e seus benefícios ?
Flask é um micro framework da web para Python baseado em "Werkzeug, Jinja 2 e boas intenções" licenciado BSD. Werkzeug e jingja são duas de suas dependências.
O Flask faz parte da microestrutura. O que significa que terá pouca ou nenhuma dependência de bibliotecas externas. Isso torna a estrutura leve, embora haja pouca dependência para atualizar e menos bugs de segurança.
36) Mencione qual é a diferença entre Django, Pyramid e Flask?
Flask é um "microframework" criado principalmente para um pequeno aplicativo com requisitos mais simples. No flask, você não precisa usar bibliotecas externas. O frasco está pronto para uso.
A pirâmide é construída para aplicações maiores. Ele fornece flexibilidade e permite que o desenvolvedor use as ferramentas certas para seu projeto. O desenvolvedor pode escolher o banco de dados, estrutura de URL, estilo de modelo e muito mais. A pirâmide é pesadamente configurável.
Como o Pyramid, o Django também pode ser usado para aplicativos maiores. Inclui um ORM.
37) Mencione o que é Flask-WTF e quais são suas características?
Flask-WTF oferece integração simples com WTForms. Os recursos incluídos para Flask WTF são
- Integração com wtforms
- Formulário seguro com token csrf
- Proteção csrf global
- Integração de internacionalização
- Apoio de recaptcha
- Upload de arquivo que funciona com Flask Uploads
38) Explique qual é a maneira comum de o script Flask funcionar?
A maneira comum para o script do frasco funcionar é
- Deve ser o caminho de importação para seu aplicativo
- Ou o caminho para um arquivo Python
39) Explique como você pode acessar as sessões no Flask?
Uma sessão basicamente permite que você se lembre de informações de uma solicitação para outra. Em um frasco, ele usa um cookie assinado para que o usuário possa ver o conteúdo da sessão e modificá-lo. O usuário pode modificar a sessão apenas se ela possuir a chave secreta Flask.secret_key.
40) O Flask é um modelo MVC e se sim, dê um exemplo mostrando o padrão MVC para sua aplicação?
Basicamente, o Flask é um framework minimalista que se comporta da mesma forma que o framework MVC. Portanto, MVC é um ajuste perfeito para Flask, e o padrão para MVC que consideraremos para o exemplo a seguir
from flask importar Flask app = Flask (_name_) @ app.route ("/") Def olá (): retornar "Hello World" app.run (debug = True) |
Neste código, o seu,
from flask importar Flask app = Flask (_name_)
@ app.route ("/") Def olá (): retornar "Hello World"
app.run (debug = True) |
41) Explicar a conexão do banco de dados no Python Flask?
O Flask oferece suporte a aplicativos baseados em banco de dados (RDBS). Esse sistema requer a criação de um esquema, o que requer a transferência do arquivo shema.sql para um comando sqlite3. Portanto, você precisa instalar o comando sqlite3 para criar ou iniciar o banco de dados no Flask.
O Flask permite solicitar banco de dados de três maneiras
- before_request (): Eles são chamados antes de uma solicitação e não passam argumentos
- after_request (): Eles são chamados após uma solicitação e passam a resposta que será enviada ao cliente
- teardown_request (): Eles são chamados em situações quando uma exceção é levantada e a resposta não é garantida. Eles são chamados após a resposta ser construída. Eles não têm permissão para modificar a solicitação e seus valores são ignorados.
42) Você está tendo vários servidores Memcache executando Python, em que um dos servidores memcacher falha e ele contém seus dados. Será que algum dia tentará obter os dados principais desse servidor com falha?
Os dados no servidor com falha não serão removidos, mas há uma provisão para falha automática, que você pode configurar para vários nós. O failover pode ser acionado durante qualquer tipo de soquete ou erros no nível do servidor Memcached e não durante erros normais do cliente, como adicionar uma chave existente, etc.
43) Explique como você pode minimizar as interrupções do servidor Memcached em seu desenvolvimento Python.
- Quando uma instância falha, várias delas caem, isso colocará uma carga maior no servidor de banco de dados quando os dados perdidos forem recarregados quando o cliente fizer uma solicitação. Para evitar isso, se seu código foi escrito para minimizar o estouro de cache, ele deixará um impacto mínimo
- Outra maneira é abrir uma instância do Memcached em uma nova máquina usando o endereço IP da máquina perdida
- O código é outra opção para minimizar as interrupções do servidor, pois dá a você a liberdade de alterar a lista de servidores do Memcached com o mínimo de trabalho
- Definir o valor de tempo limite é outra opção que alguns clientes Memcached implementam para interrupção do servidor Memcached. Quando o servidor Memcached cair, o cliente continuará tentando enviar uma solicitação até que o tempo limite seja atingido
44) Explique o que é o efeito Dogpile? Como você pode evitar esse efeito?
O efeito Dogpile é referido ao evento quando o cache expira e os sites são atingidos por várias solicitações feitas pelo cliente ao mesmo tempo. Este efeito pode ser evitado usando o bloqueio de semáforo. Neste sistema, quando o valor expira, o primeiro processo adquire o bloqueio e começa a gerar novo valor.
45) Explique como o Memcached não deve ser usado em seu projeto Python.
- O uso incorreto comum do memcached é usá-lo como um armazenamento de dados, e não como um cache
- Nunca use o Memcached como a única fonte de informações de que você precisa para executar seu aplicativo. Os dados também devem estar sempre disponíveis por meio de outra fonte
- Memcached é apenas um armazenamento de chave ou valor e não pode realizar consultas sobre os dados ou iterar sobre o conteúdo para extrair informações
- O Memcached não oferece qualquer forma de segurança em criptografia ou autenticação