各大互联网公司面经集锦(附解答)

数据库

数据库多表查询
MYSQL常用引擎及其区别(innoDB、MyISAM、MEMORY区别)
B树、B+树数据结构、区别
select、epoll,以及边缘触发、水平触发
数据库的索引介绍一下
MySQL用的挺多,问你一下,innodb的b+树索引,主键索引,聚簇索引有什么区别。
MySQL里有哪些锁,行锁表锁,乐观锁呢,我说了版本号和MVVC,开始问我MVVC。
事务的实际场景问题,两个事务,一个查一个新增,问能否查到新增的,我问他隔离级别,他说RR。MySQL的RR避免幻读,所以读不到新增数据。
MySQL的死锁怎么产生的,举了两个例子。
三个事务,两个加读锁,另一事务尝试删除,应该是不行的。
两个事务,一个写提交,另一个能不能读到,可以读到。
mysql引擎
mysql特性、隔离级别、mysql默认的隔离级别
数据库索引结构采用的是什么数据结构?为什么要采用这个结构?假如将数据全部加载到内存,b+树还有优势吗?理由。

数据库索引优化

数据库索引使用场景

机器学习

SVM和LR的联系和区别
bagging和boosting有什么区别
bagging和boosting和树有哪些组合方式

牛顿法怎么求解

怎么解决过拟合的问题

模型的评价标准,RMSE\ROC\AUC

XGBoost和GBDT有什么区别,推导XGBoost。(会手推算法很重要,我自己准备了感知机,LR,朴素贝叶斯,最大熵,EM算法,SVM,XGBoost,牛顿,拟牛顿,HMM里的前向后向算法、维特比算法,BP算法等算法的手推,除了BP算法和XGB外,这些算法在李航老师的《统计学习方法》里都找得到,最大熵步骤最多。)

讲一讲K-Means算法

L1正则和L2正则有什么区别?

LightGBM和XGBoost有什么区别?实际使用过程中对两者的感受是怎样的?从原理解释下原因?

会L-BFGS吗?L-BFGS哪一步很巧妙?是看过论文吗?
简述反向传播原理

sigmoid和ReLU的优劣

梯度消失问题和损失函数有关吗?

Dropout为什么能防止过拟合?

Batch Normalization有什么好处?

讲讲Adam优化算法

代码题

快排
最小的k个数
最大的k个数
扑克牌
跳台阶
rand1()生成rand()5
二维有序数组的二分查找某个数
找一颗二叉搜索树里面给定两个节点的公共祖先节点
合并两个无序链表成为有序链表
字符串反转
二分搜索算法
二叉树的翻转
二叉树的遍历方式
单链表翻转,如果只用指针的话怎么翻转
找100亿个数中最小的1000个数
两个文件各有100亿个URL,如何找到两个文件中相同的URL
栈的逆序操作,不能使用额外的数据结构。
排序,所有数字大小都在a到b之间,要求线性时间
八个球,七个一样,一个重,最少几次找出那个重的
如何统计一个数的二进制有多少个1,logN的方法能想到吗?
写个最长公共子序列的题
无序的数组和无序的链表,查找一个元素的复杂度分别是多少?给你做的话如何优化?数组和链表分别有哪些应用场景?
算法题:a->1,b->2,c->3,… ,z->26,给一个数字123,问能表示多少种字符串。典型的动态规划,考虑一些异常情况

f[n] = f[n - 1](num[n - 1] != 0) + f[n - 2] (num[n - 1] * 10+ num[n-2] >= 10 && <= 26)

排序算法有哪些?blahblah

介绍一下快排?blahblah

两个字符串找最长公共子串?

数组中第k大的数

如何用一个有偏的0/1随机数生成器,生成无偏的0/1随机数

找出一个旋转数组中的最小值

一个四位数abcd,满足abcd * 4 = dcba,求这个数

代码:一个链表,奇数位升序,偶数位降序,将其转化成完全升序的链表(楼主说可以直接拆分+反转+归并,面试官表示可以之后就直接写代码了)

O(1)空间复杂度判断一个整数是不是回文数(Leetcode原题)

给定一个dictionary,以及一个长字符串,判断字符串能不能拆成dict中单词的组合(dp解决)

算法题口述思路:Leetcode买卖股票问题,只允许买卖一次的最大收益?不限制买卖次数的最大收益?

一个int旋转末尾为0忽略

冒泡排序,如何优化

算法题:一个数组,给出一个数,找出子串(连续的)和为这个数的

优先队列的底层数据结构?插入和删除一个节点的时间复杂度是多少?

扑克牌顺子)每次执行如下的操作:将最上面的牌放在桌面,然后将上面的牌放在最底部,执行以上操作至扑克牌全部放在桌面上,给你最终在桌面上的牌序列,返回原序列。

二叉树非递归后序遍历.

二叉树每个节点有一个权重,找出树中权值最大的路径(leetcode上有原题)二叉树每个节点有一个权重,找出树中权值最大的路径(leetcode上有原题)

深度学习

LSTM相比普通RNN有哪些优势?为什么能解决梯度消失?
LSTM和GRU用哪个好?(楼主表示两个之间没有绝对的优劣..面试官表示认同,说实际应用里确实会因为计算速度而选择GRU)

计算机网络

那你画一下 OSI 七层模型吧,大概讲一下每一层
TCP三次握手、四次挥手,time wait解释一下
浏览器输入一个网址,得到页面的具体过程。
udp和tcp的区别,如何用udp实现tcp
TCP和UDP的区别,并问了如何用UDP实现高效的协议,参考Google的QUIC。

编程语言

java

HashTable、HashMap、ConcurrnetHashMap数据结构,扩容,初始容量,如何实现同步
List 3种实现 区别
JAVA中的集合类都讲一下
HashMap是怎样一种数据结构?和其它的集合有什么区别?他们分别适用于什么应用场景?(这个面试官特别喜欢问应用场景,心态很崩)
讲一下JAVA并发包里面有哪些类?
object类有哪些方法,hashcode,equals,clone,notify,wait。问我hashcode用在哪,说了hashmap
hashmap的结构,1.7和1.8有哪些区别,除了红黑树优化以外还有哪些改进,说了扩容时头插法改尾插法。
开始问我头插法和尾插法的区别,头插法在多线程时会出现什么问题,我说的是扩容时的死链,后来引导我说了并发插入的数据丢失问题。
concurrenthashmap的实现原理,1.7和1.8有什么区别,分段锁,synchronized和cas操作。
ArrayList和linkedlist有什么区别,如何遍历,使用for循环遍历linkedlist为什么不行,linkedlist能使用索引访问么,使用迭代器呢。
java的集合类,vector、arraylist、linkedlist的区别
arraylist默认大小,如何扩展的

操作系统

线程和进程的区别
说下为什么会出现死锁,如何避免

介绍下读写锁,读写锁适用于什么场景
五种I/O模型介绍一下

大数据

实现一个算法,将数组里面的元素打乱,时间复杂度越低越好(参考蓄水池抽样)。

智力题

智力题:一个人向北走了一公里,向东走了一公里,又向南走了一公里,最后回到了最开始的起点,为什么?(楼主没答上来,后来网上搜到了答案…)

概率题

一个家庭有两个孩子,已知其中一个是女孩,求另一个也是女孩的概率

NLP

项目为什么要在word embedding基础上加character embedding?
衡量两个字符串之间距离的方法?(楼主答了edit distance和Jaccard distance,不知道还有没有其他常用的)
给定一个query和一个doc,能想到哪些衡量相关性的方法(答了bag of words, LSTM encode, CNN encode, bi-directional attention等等);面试官最后提到一种match-CNN说楼主可以面试完研究一下

猜你喜欢

转载自blog.csdn.net/Ding_xiaofei/article/details/82740898
今日推荐