最新阿里巴巴面试题(附带面试标准答案)

在上一节中,我们已经介绍了关于阿里巴巴的任职要求,这节我就详细的介绍一下关于阿里巴巴的面试题(涉及到标准代码部分不予以出现,如果想要可以加群:725479218里面可以进行技术分享、技术交流、Python学习(含有大量的学习资料、书籍等!))
接来看下阿里巴巴Python工程师的真题:
1、请尽可能列举python列表的成员方法,并给出一下列表操作的答案:

(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
(2) 一行代码实现对列表a中的偶数位置的元素进行加3后求和?
(3) 将列表a的元素顺序打乱,再对a进行排序得到列表b,然后把a和b按元素顺序构造一个字典d。

2、用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数,并解答以下问题?(标点符号可忽略)

(1) 创建文件对象f后,解释f的readlines和xreadlines方法的区别?
(2) 追加需求:引号内元素需要算作一个单词,如何实现?

3、简述python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。
4、用python编写一个线程安全的单例模式实现。

5、请回答一下问题:
(1) 阐述一下装饰器,描述符(property)、元类的概念,并列举其应用场景;
(2) 如何动态获取和设置对象的属性。
6.Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。
浅拷贝:  创建一个新的对象,但它包含的是对原始对象中包含项的引用
        (如果用引用的方式修改其中一个对象,另外一个也会修改改变)
         {1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}
深拷贝:创建一个新的对象,并且递归的复制它所包含的对象
        (修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

7.介绍一下except的用法和作用?

执行try下的语句,如果引发异常,则执行过程会跳到except语句。
对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。
如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。
try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行
如果存在finally语句,最后总是会执行。

8.Python中pass语句的作用是什么?

pass语句不会执行任何操作,一般作为占位符或者创建占位程序,
whileFalse:pass

9.介绍一下Python下range()函数的用法?

列出一组数据,经常用在for in range()循环中

10.如何用Python来进行查询和替换一个文本字符串?

可以使用re模块中的sub()函数或者subn()函数来进行查询和替换,
格式:sub(replacement, string[,count=0])
         (replacement是被替换成的文本,
            string是需要被替换的文本,
            count是一个可选参数,指最大被替换的数量)

11.Python里面match()和search()的区别?

re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。
re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。

12.用Python匹配HTML tag的时候,<.>和<.?>有什么区别?

术语叫贪婪匹配( <.> )和非贪婪匹配(<.?> )

13.Python里面如何生成随机数?

random模块
随机整数:random.randint(a,b):
                返回随机整数x,a<=x<=b
         random.randrange(start,stop,[,step]):
                返回一个范围在(start,stop,step)之间的随机整数,不包括结束值。
随机实数:random.random( ):
                返回0到1之间的浮点数
         random.uniform(a,b):
                返回指定范围内的浮点数。

14.有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

PyChecker是一个python代码的静态分析工具,
它可以帮助查找python代码的bug,
会对代码的复杂度和格式提出警告
Pylint是另外一个工具可以进行codingstandard检查

15.如何在一个function里面设置一个全局的变量?

解决方法是在function的开始插入一个global声明:
def f()
global x

16.单引号,双引号,三引号的区别

单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释
如果要表示Let’s go 这个字符串
单引号:  s4 = ‘Let\’s go’
双引号:  s5 = “Let’s go”
         s6 = ‘I realy like“python”!’

这就是单引号和双引号都可以表示字符串的原因了

原文地址:http://blog.51cto.com/13786054/2123617

时间: 2024-08-01 05:54:53

最新阿里巴巴面试题(附带面试标准答案)的相关文章

这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题

这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题. 一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? 3.企业中Linux服务器系统分区标准是什么?(以硬盘为300G,内存16G为例) 4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤. 5.安装一台系

阿里最全面试100题:阿里天猫、蚂蚁金服、阿里巴巴面试题含答案

[阿里天猫.蚂蚁.钉钉面试题目] 1.微信红包怎么实现. 2.海量数据分析. 3.测试职位问的线程安全和非线程安全. 4.HTTP2.0.thrift. 5.面试电话沟通可能先让自我介绍. 6.分布式事务一致性. 7.nio的底层实现. 8.jvm基础是必问的,jvm GC原理,JVM怎么回收内存. 9.Java是什么. 10.API接口与SDI接口的区别(API是提供给别人的接口). 11.dubbo如何一条链接并发多个调用.Dubbo的原理,序列化相关问题. 12.用过哪些中间件. 13.做

2019阿里巴巴面试题集锦(有答案哦),收藏!

来源商业新知网,原标题:[收藏]2019阿里巴巴面试题集锦(含答案) [导读] 本文是阿里巴巴 2019 面试题集锦(含答案),是阿里巴巴自身技术专家们结合多年的工作.面试经验总结提炼而成的面试真题.通过这些面试题,还可以间接地了解技术大牛们出题思路与考察要点. 想要入职大厂可谓是千军万马过独木桥. 要通过层层考验, 刷题 肯定是必不可少的. 为帮助开发者们提升面试技能.有机会入职阿里,云栖社区特别制作了这个专辑—— 阿里巴巴资深技术专家们结合多年的工作.面试经验总结提炼而成的面试真题 这一次整

JAVA可能问的几个面试题问题及问题的标准答案

问题一:你希望工作环境是怎样的? 标准答案:我对环境没有苛求,我会努力适应环境的. 注:此问题是在测试你的求职心态,是以自己为中心还是以工作为中心. 问题二:你觉得自己有哪些缺点? 标准答案:说一些对这个职位无关紧要的小缺点吧,或者说自己的“缺点”是没有工作经验. 注:此问题极为阴险,让你自己说出缺点,省得他们费力面试了,大家千万不要上当,真的列数自己的 缺点. 问题三:提一些令你尴尬的问题,比如:你专业课怎么成绩这么差呀?你英语怎么还没过六级呀? 标准答案:见机行事吧……这些问题的借口应该事先

iOS基础问答面试题连载(三)-附答案

「Tim的博客」iOS基础问答面试题连载(一)-附答案 「Tim的博客」iOS基础问答面试题连载(二)-附答案 「Tim的博客」iOS基础问答面试题连载(三)-附答案 「Tim的博客」iOS基础问答面试题连载(四) 这次的问题是网络多线程相关的哟,面试的时候也是必问的,大家多看看 11月24日修正一处错误:18.19题目一样,答案不一样(其实是两种理解,修改为最优的一种放上来.多谢读者提醒) 以下是一些自己收集的网络多线程方面比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基

2017年最新企业面试题之shell(三)

2017年最新企业面试题之shell(三) 练习题1:写一个shell脚本,类似于日志切割,系统有个logrotate程序,可以完成归档.但现在我们要自己写一个shell脚本实现归档. 举例: 假如服务的输出日志是1.log,我要求每天归档一个,1.log第二天就变成1.log.1,第三天1.log.2, 第四天 1.log.3  一直到1.log.5 脚本内容如下: #!/bin/sh function logdir () { [ -f $1 ] && rm -f $1 } for i

iOS面试题非技术面试(五)

1.如果我录用你,你将怎样开展工作? 回答提示: 1)如果应聘者对于应聘的职位缺乏足够的了解,最好不要直接说出自己开展工作的具体办法.2)可以尝试采用迂回战术来回答,如"首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报领导批准,最后根据计划开展工作.". 分析:这个问题的主要目的也是了解应聘者的工作能力和计划性.条理性,而且重点想要知道细节.如果向思路中所讲的迂回战术,面试官会认为回避问题,如果引导了几次仍然是回避的话,此人绝对不会录用了. 2.

阿里巴巴面试题--Java对象初始化

转自 http://blog.csdn.net/ysjian_pingcx/article/details/19605335 Java对象初始化 这是一道阿里巴巴的关于Java对象初始化的面试题,堪称经典,代码很简单(编写格式做了些修改),但是需要面试者对Java中对象初始化有一个透彻的认识,那么通过这道面试题,对我有点启发,所以希望在这里分享给大家,希望能给迷惘的初学者一起指引,下面我们直入主题,先看看代码: 1 public class InitializeDemo { 2 private

Struts+Hibernate+Spring面试题合集及答案

Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化状态,并给出解释? 3 1.5. hibernate的三种状态之间