爱奇艺算法工程师实习生面试总结

“微信公众号”


2018年6月19日 爱奇艺-技术产品中心-智能平台部-算法工程师实习生面试

一面:

(1)问了一下自己去除水印的工作,问的很详细,会根据你的算法细节展开讨论,提出一下问题。所以,自己做过的项目,一定要非常了解和熟悉。

针对我的项目提出的问题:

首先水印的位置和透明度都是一样的,你第一步得到水印,再把得到的水印进行模板匹配检测出水印的位置,那你为何不直接自己做一个水印模板来检测水印的位置呢?

(2)问了一下自己之前Java后台开发的工作,如何写接口以及具体的一些业务?

(3)问了一下自己在做Java后台开发的时候,是否写过前端代码?都了解哪些前端框架?

(4)因为之前做Java后台开发的时候,稍微用过ElasticSearch。问了一下项目中如何用ElasticSearch进行人脸图片的检索?

(5)稍微问了一下自己写的论文。

(6)看到简历上有网络爬虫相关的软著,就问我平时都会去爬哪些数据?

(7)CNN了解过么?都了解CNN的哪些典型网络?

AlextNet、googlNet、VGGNet、ResNet

(8)你都会画这些网络的结构么?

其实AlexNet应该能画出来,其他都忘的差不多了。

(9)你能说一下googleNet、VGGNet之间的区别么?

卷积核越来越小,网络层数越来越深。

(10)那你说一下googleNet卷积核大小是多少?VGGNet的卷积核大小是多少?

vggNet是3*3,googleNet是1*1。(感觉自己说的不对啊!)

(11)VGGNet一直都是3*3的卷积核吗?GoogleNet一直是1*1的卷积核么?

其实这个问题是具体的网络细节了,我知道还有其他卷积核,但是想不起来其他卷积核大小。

二面:

(1)问了一下能实习多久?

(2)面试官直接现场给了一道算法题,给我了两张纸,让现场手写代码。

题目:给你一个字符串,可以对这个字符串进行多次调整,判断这个字符串进行任意调整后是否是对称字符串,要求写一个函数,函数的输入是字符串,输出是true或false。

比如:abcab,经过第4个字符与第5个字符调整位置后,整个字符串是对称字符串,直接返回true。

aca,肯定是对称字符串,直接返回true。

aadb,无论你如何进行调整,都不会让字符串变成对称字符,返回false。

我的思路:

#coding:utf-8
import string

def main(str):
    strArray = []
    for c in str:
        strArray.append(c)
    len = strArray.__len__()
    if len%2 ==1 :  #字符串长度为奇数
        count = 0  # 统计奇数个字符的个数
        tempCount = 0
        for word in string.ascii_lowercase:
            for temp in strArray:
                if word == temp:
                    tempCount = tempCount + 1
            if tempCount % 2 == 1:
                count = count + 1
                tempCount = 0
            if tempCount % 2 == 0:
                tempCount = 0
        if count == 1:
            return True
        else:
            return False
    else:
        tempCount = 0
        for word in string.ascii_lowercase:
            for temp in strArray:
                if word == temp:
                    tempCount = tempCount +1
            if tempCount % 2 != 0:
                return False
            else:
                tempCount = 0
        return True

if __name__ == "__main__":
   print( main("abcca"))

上面的代码虽然是正确的,但是用Python语言并没有发挥出Python语言简洁的特性。

我们可以考虑用Python字典的特性,代码如下:

#coding:utf-8

def main(str):
    len = str.__len__()
    result = {}
    for i in str:
        result[i] = str.count(i)
    if len % 2 == 0:  #长度为偶数
        for value in result.values():
            if value % 2 == 1:
                return False
        return True
    else: #长度为奇数
        count = 0
        for value in result.values():
            if value % 2 ==1:
                count = count + 1
        if count != 1:
            return False
        else:
            return True

if __name__ == "__main__":
   print( main("abccda"))

(3)详细问了一下去除水印的工作,以及用到的相关算法,会针对自己做的工作,提出一些问题。

针对我的工作,提出的问题是:

1)数据集中图像像素不一致,如何进行处理?

2)假如有些图片长宽被严重拉伸,图片中水印已经变形,你的算法能否解决这个问题?如何改进你的算法,让它解决这个问题?

然后,二面面试官说等一下,他出去一下,就把草稿纸收走了。我等了一会,以为还有三面。等了一会后,二面面试官说,今天就面到这吧!后面有什么消息,hr会联系我的!然后我就走了!


猜你喜欢

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