网易北京研发中心-网易传媒部门深度学习算法实习生面试总结

“微信公众号”


2018年6月13日,网易北京研发中心-网易传媒部门深度学习算法实习生面试总结

1. 问了一下能实习多久,以及实习开始的时间。

2. 问了一下目前去除水印的一些工作。尤其是自己参与的项目,问的特别细致,每一个实现的功能用到的函数都会问到。这一点问的还是挺多的,提问花费的时间也比较久。

3. 详细介绍LSTM的内部结构以及公式推导。包括3个控制门和一个细胞更新的结构图和公式推导。就是详细描述下面这幅图片,以及每一步的公式。


4. 详细询问了如何把LSTM的ht-1,Xt编码编程向量输入到神经网络中?

5. 假如现在有一个股票的价格是50,如何把股票价格50这个数据进行编码成向量,然后输入到网络中?或者说:人类看到能理解的信息是股价50,如何把这个数据输入到网络中?

6. 一道算法题:(现场手写代码)

给你10-99的所有两位数,找到所有的两位数能整除7,并把这些数放到一个数组中返回。

我的方法:

import numpy as np

def findArray():
    array = []
    for i in range(10,100):
        if i%7==0:
            array.append(i)
    return np.array(array)

print(findArray())

我的方法时间复杂度为:O(n)。

面试官:我目前让你找两位数中能整除7的数,你的算法是要遍历90个数;如果我让你找出三位数中能整除7的数,你的算法要遍历900个数;如果是找四位数中能整除7的数,你的算法要遍历9000个数;如果是找五位数中能整除7的数,你的算法是不是时间复杂度越来越高呢!想办法优化一下!

面试官的提示:你找的这个数组里面的所有数,都能够整除7。

思路:比如两位数,你可以从10找到14确定最小商为2,然后从100找到98确定最大的商为14,然后从2到14一次乘以7,可以优化时间复杂度。

def findArray():
    array = []
    for i in range(10,100):
        if i%7==0:
            low = int(i/7)
            break
    for j in range(10,100)[::-1]:
        if j%7==0:
            high = int(j/7)
            break
    for k in range(low,high+1):
        array.append(k*7)
    return np.array(array)

print(findArray())

7. 假如你自己写了一个类,你想在另一个类中使用这个类,要如何做?

问:python 如何在一个.py文件中调用另一个.py文件的类

如果是在同一个 module中(也就是同一个py 文件里),直接用就可以
如果在不同的module里,例如
a.py里有 class A:
b.py 里有 class B:
如果你要在class B里用class A 需要在 b.py的开头写上 from a import A

#mymodel.py

import matplotlib.pyplot as plt
class test(object):
num = []

def __init__(self, _list):
super(test, self).__init__()
self.num = _list

def prt(self):
print(self.num)

def tplt(self):
plt.plot(self.num)
plt.show()

#mian.py

from mymodel import test
mylist= [1,2,3]
a = test(mylist)
a.prt()
a.tplt()

8. 如果你自己重写了Python里的内置类str里的strip()方法,Python是优先使用重写方法还是内置的方法?Python是如何识别你重写的还是系统内置的?

(1)如何重写:

class laplace(str):

    def strip(self, chars=None, string='sorry'):
        return 'something %s' % string

x = laplace()
print x.strip()

(2)Python优先调用重写的方法。

(3)Python是如何识别你重写的还是系统内置的?不懂这个问题到底在问啥。。。

9. Python的扫包机制?

----A包

----B包

     ----C包

             ----test.py

     ----D包

             ----MyLocation.py

我当前在MyLocation.py文件中,想要用test.py文件里的函数,Python是如何找到test.py文件里的函数的?

参考这篇文章:https://www.cnblogs.com/paomaliuju/p/5167434.html

10. Python编译器如何识别不同的Python工程?

新建一个Python工程的时候,编译器会生成这个工程的配置文件和一些其他的文件,这些文件标识了是不同的Python工程。

猜你喜欢

转载自blog.csdn.net/program_developer/article/details/80678551