Preguntas de entrevistas para viajes de Coupe

1. ¿Cuáles son los principales tipos de datos integrados de Python? ¿La salida de print dir ('a')?
Tipos de datos variables de Python: list list [], dictionary dict {}, set set (), matriz de bytes bytearray
Tipos de datos inmutables de Python: integer int, string str '', tuple tuple (), bool bool,
complejo de números complejos, punto flotante tipo float, bytes ...

2. Dadas dos listas A y B, ¿usa Python para encontrar los mismos elementos y diferentes elementos en A y B?

lista = [1,2,3,4,5,6,'hello','world']
	listb =[2,6,'hello','tarena','python']
	set_a = set(lista)
	set_b = set(listb)
	equal_set = set_a&set_b
	print(set_a,set_b)
	print('相同的元素是:',equal_set)
	print('不相同的元素是:',(set_a|set_b)-equal_set)

3. Invierta la cadena aStr

s_old = 'aStr'
	lst = list(s_old)
	lst.reverse()
	s_new = ''.join(lst)
	print(s_new)
	

4. Intercambie los valores de las variables a y b
a, b = b, a

5. Señale el problema con el siguiente código

   def lastindextem(src,index)
        '''请返回传入src,使用空格或者'\'切分后的倒数第index个子串’‘’
        return src.split('\')[-index]
  答: 1、如果传入的参数index不是int类型 会报 TypeError 类型错误
			2、如果传入的参数index>len(src) 会报 IndexError 值错误,数组下标越界

6. Escriba el resultado del siguiente programa

   a = 'abc'
    print (a[1])
    a[1] = 'a'


    print (a[1]) 答 第一个print成功打印'a' a[1]='a'报错TypeError字符串是不可变类型
--------------------------
    class Parent(Object):
        x = 1
    class Child1(Parent):
        pass
    class Child2(Parent):
        pass
    print Parent.x,Child1.x,Child2.x
    Child.x = 3
    print Parent.x,Child1.x,Child2.x
    Parent.x = 'a'
    print Parent.x,Child1.x,Child2.x:	1 1 1
				1 3 1
				a 3 a

----------------------------------------
    def count():
        fs = []
        for i in range(1,4):
            def f():
                return i*i
            fs.append(f)
        return fs

    for f in count():
        print f()
: 9   9   9
--------------------------------------
    def f(x,l=[]):
        for i in range(x):
            l.append(i+i)
        print l

    f(3)
    f(3,[3,2,1])
    f(2)
:
		[0, 2, 4]
		[3, 2, 1, 0, 2, 4]
		[0, 2, 4, 0, 2]

---------------------------------------
用一个select语句输出每个城市中距离市中心大于20KM酒店数

+------------+------------+--------+
|name        | city_id    |distance|
+------------+------------+--------+
|a酒店        |1000        |8       |
|xx酒店       |1000        |22      |
|xx酒店       |1000        |6       |
......
|xx酒店       |1001        |55      |
:
select count(name) from where distance > 20

Pregunta de programación:
hay un archivo 3G con una cadena por línea, el contenido es la identificación del hotel y el nombre de la imagen, separados por '\ t'
Ejemplo: ht_1023134 + '\ t' + hissnogin123.jpg
significa que un hotel contiene A imagen de, cuente los identificadores de hotel que contengan imágenes> 20, los identificadores de hotel que contengan imágenes de 10-20, los identificadores de hotel que contengan imágenes 5-10, 0-5 y genere los resultados en un archivo. El
formato de archivo es

0-5 + '\t' + id1 + '\t' + id2 + ........
5-10 + '\t' + id1 + '\t' + id2 + ........
10-20 + '\t' + id1 + '\t' + id2 + ........
20-无穷大 + '\t' + id1 + '\t' + id2 + ........


f = open('hotel.txt', 'rb')
lst_hotelId = []
lst_hotelImg = []

Leer el archivo en la lista

while True:
    data = f.readline().decode()[:-2]
    if not data:
        f.close()
        break
    hotel_id, hotel_img = data.split('\t')
    hotel = data.split('\t')
    lst_hotelId.append(hotel_id)
    lst_hotelImg.append(hotel_img)

lst_count1 = []
lst_count2 = []
lst_count3 = []
lst_count4 = []

Según el mismo número de identificación en la lista de identificación

for x in lst_hotelId:
    if lst_hotelId.count(x) <= 5:
        if lst_count1.count(x) == 0:
            lst_count1.append(x)
    elif lst_hotelId.count(x) > 5 and lst_hotelId.count(x) <= 10:

        if lst_count2.count(x) == 0:
            lst_count2.append(x)
    elif lst_hotelId.count(x) > 10 and lst_hotelId.count(x) <= 20:

        if lst_count3.count(x) == 0:
            lst_count3.append(x)
    else:
        if lst_count4.count(x) == 0:
            lst_count4.append(x)
fw = open('count1.txt', 'wb')
s1 = '0-5\t\t'+'\t'.join(lst_count1)+'\n'
s2 = '5-10\t'+'\t'.join(lst_count2)+'\n'
s3 = '10-20\t'+'\t'.join(lst_count3)+'\n'
s4 = '20-无穷大\t'+'\t'.join(lst_count4)+'\n'
fw.write((s1+s2+s3+s4).encode())
fw.close()
print('write success!')

Problema de programación 2:
Dada una lista int a, satisfaga a [i + 1]> = a [i], dada una clave int, encuentre el índice del primer elemento en la lista a que sea mayor o igual que key, que no puede cumplir con los requisitos El elemento devuelve -1
definición de función:

def findindex(int_list,int_key):
    if int_key<len(int_list) and int_key>=0 :
        return int_key+=1
    else:
        return -1

Preguntas adicionales:

Uno, expresión regular:

1. La diferencia entre el modo codicioso y el modo no codicioso en la coincidencia regular El modo
codicioso y no codicioso afecta el comportamiento de coincidencia de las subexpresiones modificadas por cuantificadores. El
modo codicioso coincide con tantas como sea posible con la premisa de que toda la expresión se empareja correctamente .
las coincidencias de patrones no codiciosos lo menos posible en la premisa de que toda la expresión coincide con éxito.
El modo no codicioso solo es compatible con algunos motores NFA.
Los cuantificadores que pertenecen al modo codicioso también se denominan cuantificadores de prioridad de coincidencia, que incluyen:
"{m, n}", "{m,}", "?", "*" Y "+".

2. Uso y diferencia de la función de coincidencia / búsqueda
Respuesta: La función
match () solo detecta si el RE coincide al principio de la cadena,
search () escanea toda la cadena en busca de una coincidencia, es decir, match ()
solo tiene éxito en Posición 0 Si no es la posición inicial,
match () no devolverá ninguno
. 3. Escriba una expresión regular que comience con una letra o un guión bajo y termine con un número,
regex = ' 1. * [0-9] + $ '
Dos, ¿cuál es el uso del código de estado del protocolo HTTP? Enumere los códigos de estado del protocolo HTTP que conoce
y luego diga lo que significan. El
código de estado se encuentra en la primera línea de la Respuesta HTTP. Se devolverá un "código de estado de tres dígitos" y un "mensaje de estado".
El código de estado de tres dígitos es "fácil de procesar para el programa, y ​​el" mensaje de estado "es más fácil de entender para la gente.

	HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。
	HTTP状态码被分为五大类
 					已定义范围			分类
		1XX			100-101			信息提示
		2XX			200-206			成功
		3XX			300-305			重定向
		4XX			400-415			客户端错误
		5XX			500-505			服务器错误
	常见状态码:
		200 OK 服务器成功处理了请求(这个是我们见到最多的)
		301/302 Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
		304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存
		404 Not Found 未找到资源
		501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务

3. ¿Qué sucedió entre ingresar a http://www.mioji.com/ y regresar a la página?
1. Ingrese la URL en el navegador
2. El DNS de la capa de aplicación resuelve el nombre de dominio
3. El cliente de la capa de aplicación envía una solicitud HTTP
4. El mensaje de transmisión TCP de la capa de transporte
5. El protocolo IP de la capa de red consulta la dirección MAC
6. El los datos llegan a la capa de enlace de datos
7 El servidor recibe los datos
8. El servidor responde a la solicitud
9. El servidor devuelve el archivo correspondiente


  1. _a-zA-Z ↩︎

Supongo que te gusta

Origin blog.csdn.net/weixin_49304690/article/details/112573160
Recomendado
Clasificación