一面:
遇到了一个搞图像算法的面试官,跟我的方向不太符合,所以没有问太多问题。总体来说比较轻松
1、CNN的原理简单说一下。
2、SVM的原理。
3、链表实现加法,由于给出的链表已经是按数位逆置的了,所以比较简单。
二面:
可以说是我遇到过的最难的面试了,考了很多知识,涉及到爬虫,计算机网络,操作系统,手写代码推导,数据结构题,java基础知识,算法原理等等
1、LDA的原理
2、极大似然的原理
3、LR的推导,损失函数,梯度下降过程
4、操作系统的LRU
5、浏览网页的流程,涉及什么链路协议之类的
https://blog.csdn.net/qq_26460507/article/details/78035933
6、Map和HashMap的区别
HashMap:hash+链表+红黑树
红黑树:https://www.jianshu.com/p/0b68b992f688
hash:
7、如何对反爬虫机制进行破解
8、手写推导FM,并说出FM和FFM的时间复杂度
7、判断一棵二叉树是不是二叉搜索树
8、将一棵二叉搜索树转换成双向链表(用递归写)
https://blog.csdn.net/zengzhen_csdn/article/details/51198530
9、L1和L2的区别,以及各自的使用场景
10、为什么梯度是函数变化最快的方向
https://zhuanlan.zhihu.com/p/24913912
11、tfidf的原理
12、操作系统中的动态链接和静态链接
dll什么意思
动态链接库,存放的是各类程序的函数实现过程,当程序需要调用函数时,需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。还可以减小程序的体积。
动态链接库与静态链接库的区别
静态链接库把文件中用到的函数代码直接链接进目标程序,程序运行时不再需要其他的库文件,动态链接库就是把调用的函数所在文件模块和调用函数在文件中的位置等信息链接进目标程序,程序运行时再从dll中寻找相应函数代码,因此需要相应DLL文件的支持
都是共享代码的方式,如果采取静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的exe文件中,但是若使用DLL,该DLL不必被包含在最终的exe文件中,exe文件执行时可以动态地引用和卸载这个与exe独立的DLL文件。
动态链接库的优点
- 更加节省内存
- DLL文件与exe文件独立,只要输出接口不变,更换DLL文件不会对exe文件造成任何影响,因而极大的提高了可维护性和可扩展性。
13、数据库的一道底层原理题,好像是存储吧,记不清了,反正不知道。