面试复盘:2020-08-06

寒武纪

0 基本情况

地点:上海
岗位:AI应用工程师(sp)
面试时长:1h

1 提问

项目相关

(1)介绍刀具监测

(2)介绍元学习

(3)介绍灰度图像算法

(4)介绍GAN

(5)介绍LSTM

算法相关

(1)排序算法了解哪些?
冒泡,插入,选择,快排,归并,堆,希尔,计数,桶

(2)介绍快排思想?
分治,选一个pivot,左右指针
右边和pivot比较,直到找到比pivot小的,跟左边交换位置
左边和pivot比较,直到找到比pivot大的,跟右边交换位置
一次排序后,得到pivot左边都是比他小的,右边都是比他大的
再分别对左右排序

(3)快排时间复杂度
O(nlogn)

(4)如果是已经有序的情况下,时间复杂度
O(nlogn)

c++相关

(1)c++和C的区别
面向对象和面向过程
面向对象三大特性:封装、继承、多态

(2)为什么要继承
程序复用,可以在基类基础上做功能扩展

(3)多态有哪些
重载多态:函数重载,运算符重载
子类型多态:虚函数
参数多态:函数模板,类模板
强制多态:类型转换

(4)什么是虚函数
在基类中声明和实现,在派生类中覆盖

(5)vector,map
vector是和list类似的可变数组
map是和dict类似的映射,一一对应

(6)map查找复杂度
O(1)

python相关

(1)self是做什么用的

(2)直接类调用和对象调用的区别

(3)为什么class要继承object
继承object类的是新式类
新式类,按照广度优先继承
旧式类,按照深度优先继承
在python2.7里面有区别,在python3里面加不加object都一样

(4)介绍new方法和init方法
new是静态方法,会返回实例,创建新实例时用到
init是实例方法,不返回,初始化时用到
只有new返回一个类的实例时,init才能被调用

(5)new的参数是
至少要有一个参数cls,代表要实例化的类,由Python解释器自动提供

(6)参数不定用什么
*args

(7)**kargs是什么意思
接收数量都不定的键值对,允许使用没有事先定义的参数名

(8)*和**同时用的话,怎么分配
优先级:定义参数名的变量,*args,**kargs
右边赋值

线程相关

(1)多线程介绍一下
线程是资源调度的最小单元
多线程并发运行
GIL锁,同时只有一个线程能运行

(2)为什么要多线程
提高效率

(3)拿GIL锁限制,如何多线程
用多进程替代多线程

反问

(1)具体的应用有什么?有没有小样本应用场景,迁移学习相关算法

(2)C++了解不深,影响大吗

(3)评价这次我的面试表现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值