一共四轮面试,一面基础面试,体验还行,比较轻松,二面(深度技术面试)和三面(项目稳定性)跑过去既然电话面试?我在家不能电话面试吗?来回3个小时,我真的。。
四面是Hr总监面试,视频电话面试,总体问的是原来公司项目和人员组成方式。
一面基础面试
手写带参数的装饰器
这个注意参数放在哪里哈,函数装饰器是放在第一个参数里面,我写的时候反了。。
手写单例模式
考sql语句和ORM
已知:student(id,name)表和score(id,sid,score)表,用orm得出学生的分数
再用sql语句怎么写
求学生的平均分怎么写
了解过Flask源码吗?
二面
先说说感受把,面试官可能是大牛,问的问题很宽泛,下面会说到怎么问的,我回答的很差,因为没有准备。
大学学了数据接口把,说说你知道哪些数据结构?
- 冒泡和快排
那说说快排吧
- 快排是一种分治的思想,首先需要选择数组中的一个值当做中间值,然后把数组分为2段,左边数组的小于它,右边的数组大于它。再按这个这个方式分别递归左边的列表和右边的列表,最后把结果相加,得到的是排序好的数组。
那它会不会有什么问题?
- 问题再选哪个值为中间值,这个影响它的时间复杂度
它的时间复杂度是多少?
- nlogn
说说堆排把
- 不知道。。
那说说二叉树把
- 二叉树是一种最后只有2个子节点的树,
那平衡二叉树呢
- 平衡二叉树是一种特殊的二叉排序树,它的左右子树的高度的绝对值必须小于等于1
那如果出现大于一有什么问题呢?
- 会出现左旋或者右旋
那就聊聊mysql把,mysql有哪些存储引擎
- 有innodb和myisam2中
那你说说innodb把
- 它是相比myisam支持外键,行级别锁,支持B+树索引
那你说说B+树把
- 不会。。没有复习
那你还知道mysql哪些知识都讲讲
- mysql 事务吗?隔离级别吗?
说说redis把,你知道redis哪些知识
- redis有五中数据类型把,分别是string,set,zset,hash,list
那你分别说说它们是什么和项目中怎么用的
- 项目最多用到的是string类型,可以存储序列化的json串或者简单的字符串
- set和zset是一种有序列表
有一个场景,我有1亿条数据,我需要得到top100的数据,你怎么设计
这里考察的是top K的问题,可以用堆结构处理,可以自己去搜索下,这里我回答错了
- 遍历取最开始100的数据,把tam
原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/931/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/