京东算法岗笔试

题型30题单项选择,2道编程(leetcode medium到hard之间),不能截屏,凭记忆回忆一下,当做笔记了

 

1、知道前序遍历,中序遍历,确定二叉树的结构,如果不平衡,调整为平衡后,输出后序遍历的结果?

关键是不平衡调整为平衡的过程,下图中 右旋(顺时针),左旋(逆时针),“谁主动撞谁”,撞下来的节点归主动者,比如下图中 左左情况,右旋的时候,A主动撞B,撞下来的B归属于主动者A。

京东算法岗笔试

2、arnold图像算法可以用于置乱这句话对吗?

答案:对.

置乱算法通常用于图像的加密和解密中,如下图:

京东算法岗笔试

变换关系:

京东算法岗笔试

3、核化PCA降维?

x为低维空间中的一个点,z为经过核函数K映射后,在高纬平面的一个点,那么核化PCA可以理解为其逆过程

4、众数的概念

一组数据中出现次数最多的数

5、相对熵(KL散度)衡量的是什么?

答:相对熵又称为KL散度

公式如下:

京东算法岗笔试

如果p(x)和q(x)两个分布相同,那么相对熵的结果为0. 也就是说 相对熵越小,p(x),q(x)的分布就越相似

6、什么方式可以增大欠拟合

答:欠拟合就是模型没有很好的捕捉到数据特征,如下图

京东算法岗笔试

7、下面程序的输出结果是?

京东算法岗笔试

答:[1,2]

        Hello

解析:

京东算法岗笔试

8、下图代码输出结果是什么?

京东算法岗笔试

答:

京东算法岗笔试

解析:字典的pop方法,用于删除给定key和key对应的值,并返回删除的value,具体如下.

京东算法岗笔试

9、下面关于__new__ 和__init__的说法正确的是?

答:

1.__init__ 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。

2.__new__ 通常用于控制生成一个新实例的过程。它是类级别的方法。

10、下列关于python变量命名的说法正确的是?

答:正确的包括

京东算法岗笔试

11、下列关于红黑树说法正确的包括?

答:1)节点是黑色或者红色

        2)根节点是黑色

        3)每个红色节点的2个子节点是黑的

        4)从任一节点到其(注意不是任意)每个叶子节点包含相同数目的黑色节点

        5)查找时间复杂度为logn

12、Python中变量的查找顺序

答:

L:local,局部作用域,即函数中定义的变量

E:enclosing,父级函数的局部作用域,但不是全局

G:global,全局变量,也就是模块级别定义的变量

B:built-in,系统内置变量

  搜索的顺序是 LEGB

13、下面哪个分类算法可以较好的避免样本不平衡问题

A、KNN

B、SVM

C、Bayes

D、NN(neural network)

答案:A

14、pyc文件和import的关系?

答:写好a.py之后直接执行python3 a.py并不会生成a.pyc,只有在b.py中import a,然后运行b.py才会生成a.pyc
如果源文件没有更改的话,重新加载b模块,a.pyc也不会重新生成,pyc文件本身并不能加快运行时间,但是生成.pyc文件的过程会消耗时间,所以如果pyc文件已经被加载过了,程序的时间就会减少

15、有十箱零件,每箱100个,这十箱中有一箱是次品,外观和正品一样,只是次品每个零件比正品轻一克,找出次品最少要称几次?

答:一次  

16、TF和IDF

答:

什么是TF-IDF?

其实这个是两个词的组合,可以拆分为TF和IDF。

TF(Term Frequency,缩写为TF)也就是词频啦,即一个词在文中出现的次数,统计出来就是词频TF,显而易见,一个词在文章中出现很多次,那么这个词肯定有着很大的作用,但是我们自己实践的话,肯定会看到你统计出来的TF 大都是一些这样的词:‘的’,‘是’这样的词,这样的词显然对我们的分析和统计没有什么帮助,反而有的时候会干扰我们的统计,当然我们需要把这些没有用的词给去掉,现在有很多可以去除这些词的方法,比如使用一些停用词的语料库等。

假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能发现"中国"、"蜜蜂"、"养殖"这三个词的出现次数一样多。这是不是意味着,作为关键词,它们的重要性是一样的?

显然不是这样。因为"中国"是很常见的词,相对而言,"蜜蜂"和"养殖"不那么常见。如果这三个词在一篇文章的出现次数一样多,有理由认为,"蜜蜂"和"养殖"的重要程度要大于"中国",也就是说,在关键词排序上面,"蜜蜂"和"养殖"应该排在"中国"的前面。

所以,我们需要一个重要性调整系数,衡量一个词是不是常见词。如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。

用统计学语言表达,就是在词频的基础上,要对每个词分配一个"重要性"权重。最常见的词("的"、"是"、"在")给予最小的权重,较常见的词("中国")给予较小的权重,较少见的词("蜜蜂"、"养殖")给予较大的权重。这个权重叫做"逆文档频率"(Inverse Document Frequency,缩写为IDF),它的大小与一个词的常见程度成反比。

TF-IDF = 词频X逆文档频率

17、如果创建的数据库索引没有生效,可能是什么原因导致的?

如果MySQL估计使用全表扫描要比使用索引快,则不使用索引

 

 

编程题1:消消乐

编程2:拼接迷宫

 


 

上一篇:[MATLAB] Simple TF-IDF implementation


下一篇:ESP32第一章esp32简介