企业面试题

企业面试题

15.python新式类和经典类的区别?

a. 在python里凡是继承了object的类,都是新式类

b. Python3里只有新式类

c. Python2里面继承object的是新式类,没有写父类的是经典类

d. 经典类目前在Python里基本没有应用

e. 保持class与type的统一对新式类的实例执行a.__class__与type(a)的结果是一致的,对于旧式类来说就不一样了。

f.对于多重继承的属性搜索顺序不一样新式类是采用广度优先搜索,旧式类采用深度优先搜索。

16.python中内置的数据结构有几种?

a. 整型 int、 长整型 long、浮点型 float、 复数 complex

b. 字符串 str、 列表 list、 元祖 tuple

c. 字典 dict 、 集合 set

d. Python3 中没有 long,只有无限精度的 int

18.反转一个整数,例如-123 --> -321

class Solution(object):def reverse(self,x):if -10<x<10:return xstr_x = str(x)if str_x[0] !="-":str_x = str_x[::-1]x = int(str_x)else:str_x = str_x[1:][::-1]x = int(str_x)x = -xreturn x if -2147483648<x<2147483647 else 0
if __name__ == '__main__':s = Solution()reverse_int = s.reverse(-120)print(reverse_int)

19.设计实现遍历目录与子目录,抓取.pyc文件

import osdef get_files(dir,suffix):res = []for root,dirs,files in os.walk(dir):for filename in files:name,suf = os.path.splitext(filename)if suf == suffix:res.append(os.path.join(root,filename))print(res)get_files("./",'.pyc')

20.一行代码实现1-100之和

count = sum(range(0,101)) print(count)

21.Python-遍历列表时删除元素的正确做法

遍历在新在列表操作,删除时在原来的列表操作

a = [1,2,3,4,5,6,7,8]
print(id(a))
print(id(a[:]))
for i in a[:]:if i>5:passelse:a.remove(i)print(a)
print('-----------')
print(id(a))

23.可变类型和不可变类型

1,可变类型有list,dict.不可变类型有string,number,tuple.

2,当进行修改操作时,可变类型传递的是内存中的地址,也就是说,直接修改内存中的值,并没有开辟新的内存。

3,不可变类型被改变时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。

24.is和==有什么区别?

is:比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象。是否指向同一个内存地址

== : 比较的两个对象的内容/值是否相等,默认会调用对象的eq()方法

25.求出列表所有奇数并构造新列表

a = [1,2,3,4,5,6,7,8,9,10]
res = [ i for i in a if i%2==1]
print(res)

26.用一行python代码写出1+2+3+10248

from functools import reduce
#1.使用sum内置求和函数
num = sum([1,2,3,10248])
print(num)
#2.reduce 函数
num1 = reduce(lambda x,y :x+y,[1,2,3,10248])
print(num1)

27.Python中变量的作用域?(变量查找顺序) 函数作用域的LEGB顺序 1.什么是LEGB?
L: local 函数内部作用域

E: enclosing 函数内部与内嵌函数之间

G: global 全局作用域

B: build-in 内置作用 python在函数里面的查找分为4种,称之为LEGB,也正是按照这是顺序来查找的

28.字符串 "123" 转换成 123,不使用内置api,例如 int()

def atoi(s):num = 0for v in s:for j in range(10):if v == str(j):num = num * 10 + jreturn num

29.Given an array of integers

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定nums = [2,7,11,15],target=9 因为 nums[0]+nums[1] = 2+7 =9,所以返回[0,1]

class Solution:def twoSum(self,nums,target):""":type nums: List[int]:type target: int:rtype: List[int]"""d = {}size = 0while size < len(nums):if target-nums[size] in d:if d[target-nums[size]] <size:return [d[target-nums[size]],size]else:d[nums[size]] = sizesize = size +1
solution = Solution()
list = [2,7,11,15]
target = 9
nums = solution.twoSum(list,target)
print(nums)

30.python代码实现删除一个list里面的重复元素

def distFunc1(a):"""使用集合去重"""a = list(set(a))print(a)def distFunc2(a):"""将一个列表的数据取出放到另一个列表中,中间作判断"""list = []for i in a:if i not in list:list.append(i)#如果需要排序的话用sortlist.sort()print(list)def distFunc3(a):"""使用字典"""b = {}b = b.fromkeys(a)c = list(b.keys())print(c)if __name__ == "__main__":a = [1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]distFunc1(a)distFunc2(a)distFunc3(a)

31.统计一个文本中单词频次最高的10个单词?

import re# 方法一
def test(filepath):distone = {}with open(filepath) as f:for line in f:line = re.sub("\W+", " ", line)lineone = line.split()for keyone in lineone:if not distone.get(keyone):distone[keyone] = 1else:distone[keyone] += 1num_ten = sorted(distone.items(), key=lambda x:x[1], reverse=True)[:10]num_ten =[x[0] for x in num_ten]return num_ten# 方法二
# 使用 built-in 的 Counter 里面的 most_common
import re
from collections import Counterdef test2(filepath):with open(filepath) as f:return list(map(lambda c: c[0], Counter(re.sub("\W+", " ", f.read()).split()).most_common(10)))

32.请写出一个函数满足以下条件

该函数的输入是一个仅包含数字的list,输出一个新的list,其中每一个元素要满足以下条件: 1、该元素是偶数 2、该元素在原list中是在偶数的位置(index是偶数)

def num_list(num):return [i for i in num if i %2 ==0 and num.index(i)%2==0]num = [0,1,2,3,4,5,6,7,8,9,10]
result = num_list(num)
print(result)

36.两个有序列表,l1,l2,对这两个列表进行合并不可使用extend

def loop_merge_sort(l1,l2):tmp = []while len(l1)>0 and len(l2)>0:if l1[0] <l2[0]:tmp.append(l1[0])del l1[0]else:tmp.append(l2[0])del l2[0]while len(l1)>0:tmp.append(l1[0])del l1[0]while len(l2)>0:tmp.append(l2[0])del l2[0]return tmp

Python面试题解答——第二部分企业面试题相关推荐

  1. ENBM内部测试试题 组建与维护企业网络试题

    benet  试题 转载于:https://blog.51cto.com/hzwsz/64147

  2. python基础知识面试题-Python基本面试解答由浅入深—简答题

    原标题:Python基本面试解答由浅入深-简答题 不管你是学习任何语言,不管你是刚毕业还是行业大佬,找工作最终逃不掉的就是面试题,有的程序员很讨厌面试题,他们觉得面试题不会不代表我做不出东西,其实这种 ...

  3. python企业面试题250道

    Python基础 文件操作 ◾1.有一个jsonline格式的文件file.txt大小约为10K ◾2.补充缺失的代码 模块与包 ◾3.输入日期, 判断这一天是这一年的第几天? ◾4.打乱一个排好序的 ...

  4. Python面试基础篇 - 50道经典面试题(附答案及多种解答)

    大家好,我是辣条哥 高考刚结束不久,网上各种招工的,工地招搬砖的都开始活跃了,这时候我要是不出来活跃一波感觉有点不合时宜了. 于是特意整理了这一份Python面试题的基础篇,进阶的先不说我能不能整理出 ...

  5. 第十一届蓝桥杯python组试题解答

    文章目录 第十一届蓝桥杯python组试题解答 门牌制作 寻找2020 跑步锻炼 蛇皮走位 排序 成绩统计 单词分析 数字三角形 平面切分 装饰宝珠 第十一届蓝桥杯python组试题解答 门牌制作 这 ...

  6. 老男孩Shell企业面试题30道 [答案]

    @老男孩Shell企业面试题 shell  2016年9月7日  本文来自于老男孩教育,未经本人同意,禁止转载!否则追究法律责任.  原文:http://oldboy.blog.51cto.com/2 ...

  7. 精选30道Java笔试题解答

    精选30道Java笔试题解答       都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进 ...

  8. 21_异常_第21天(异常、企业面试题,思维导图下载)

    今日内容介绍 1.异常概述和继承体系 2.异常原因以及处理方式 3.运行时期异常 4.方法重写的异常处理 5.Throwable类常见方法 6.自定义异常 xmind:下载地址 链接:https:// ...

  9. Python工程师求职必知的经典面试题分享

    Python开发求职必知什么?有哪些经典的面试题?Python语法简单.功能强大,人才需求旺盛,是很多入行IT人士首选的编程语言.然而在学习理论技能.积累实战经验之余,想要拿到高薪,我们一定要经历一道 ...

最新文章

  1. Weex 版扫雷游戏开发
  2. “金星生命论”乌龙事件新进展:那只是二氧化硫而已
  3. 从view 得到图片
  4. bloc+rxdart解决代码混乱大问题
  5. 前端开发代码架构相关想法
  6. 一句话进行浏览器版本识别
  7. 多媒体视频知识入门贴zt(一)
  8. 简约几何海报背景设计素材,可盐可甜
  9. 一网打尽软件测试面试必问的所有Web测试点,你不知道的这都有!
  10. c#读写apk的 comment
  11. SSL证书 和 CA证书 区别
  12. 4g网络切换软件_游戏掉线坑队友?OPPO Reno网络切换超快,上分吃鸡更稳
  13. 基于神经网络的图像识别
  14. 汇编中add和inc的问题
  15. poj3207 2-SAT
  16. windows 命令行代理设置
  17. shiro ajax 验证码,关于Shiro登录报验证码错误的问题
  18. 第39级台阶--递归
  19. 【原创】《矩阵的史诗级玩法》连载十七:用矩阵研究二次贝塞尔曲线和抛物线的关系(上)
  20. 《鬼谷子》飞箝第五(原文)

热门文章

  1. 美国迈阿密市民工资将可以通过BTC支付
  2. Filecoin Gas基础费率跌至4.40 nanoFIL
  3. 《数字金融消费者权益保护实践与探索》正式发布
  4. 雄安新区区块链底层系统(1.0)今日正式发布
  5. SAP License:SAP顾问日记二
  6. 赛锐信息:SAP订单统一管理系统
  7. 数据仓库中的两大经典模型
  8. djaogo配置session使用redis
  9. Installing OwnCloud 9 on Debian 8
  10. android sdkversion