文末彩蛋:七月在线干货组最新升级的《2021大厂最新AI面试题 [含答案和解析, 更新到前121题]》免费送!

问题1:python在内存上做了哪些优化?

python通过内存池来减少内存碎片化,提高执行效率。主要通过引用计数来完成垃圾回收,通过标记-清除解决容器对象循环引用造成的问题,通过分代回收提高垃圾回收的效率。

问题2:怎么节省内存?

手动回收不需要用的变量;

将数值型数据转化为32位或16位(对数据类型进行限制)

代码示例如下:

问题3:pandas库怎么读取超大型文件?

可以采取分块读取数据的方式。

代码示例如下:

问题4:无重复字符的最长子串

该题为leetcode-3,难度:【中等】

方法:双指针 + sliding window

定义两个指针 start 和 end 得到 sliding window

start 初始为0,用end线性遍历每个字符,用 recod 记录下每个字母最新出现的下标

两种情况:一种是新字符没有在 record 中出现过,表示没有重复,一种是新字符 char 在 record 中出现过,说明 start 需要更新,取 start 和 record[char]+1 中的最大值作为新的 start。

需要注意的是:两种情况都要对record进行更新,因为是新字符没在record出现过的时候需要添加到record中,而对于出现过的情况,也需要把record中对应的value值更新为新的下标。

代码:

问题5:判断链表是否有环、链表环的入口

判断链表是否有环为leetcode-141题

提供两种解题方法,如下:

方法一:哈希表

遍历所有节点,每次遍历一个节点时,判断该节点此前是否被访问过。

如果被访问过,说明该链表是环形链表,并返回True,如果没有,则将该节点加入到哈希表中,遍历完成即可。

代码如下:

方法二:快慢指针

定义两个指针,一快一慢,满指针每一移动一步,快指针每次移动两步,由于快指针比慢指针慢,如果链表有环,则快指针一定会和慢指针相遇。

代码如下:

扫码领取七月在线干货组最新升级的《2021大厂最新AI面试题 [含答案和解析, 更新到前121题]》,免费送!

持续无限期更新大厂最新面试题,AI干货资料,目前干货组汇总了今年3月-6月份,各大厂面试题。

另外,今天给大家推荐 【推荐系统高级小班 第十期】课程,8月 16日正式开班!

原价21000元的课程,限时扫码“免费试听 + 领取面试资料《2021最新大厂AI面试题》”

年初抖音推荐算法被MIT评为2021十大突破技术之一,推荐算法不仅催生抖音背后的新一代巨无霸字节跳动,更广泛应用于各大电商平台、视频平台、资讯平台,做推荐的薪资因此水涨船高。

(七月在线部分高级班学员薪资展示)\

本推荐高级班第十期继续沿用七月在线推荐系统高级班的 “BAT大咖小班教学”模式, 以及已有的特色:

  • 内容全面系统:包括推荐常用算法、真实场景推荐、推荐前沿技术等四大阶段的内容;
  • 标准化项目流程:涵盖环境和数据准备、特征工程、模型构建、模型调优、上线部署等;
  • 多对一就业指导:单独指导�