滴滴大数据开发实习生面试
教训:擅长专注某一方面很重要(深入一个点),别样样涉及但没精通的
注:以下可能不全,有的问题想不起来了
一面
1.TCP/UDP,三次握手
2.哈希解决冲突
3.数组/链表优缺点
4.JAVA基础知识:线程的方式(三种)
5.写一个单例(考虑线程安全,即如何保证并发情况下只有一个实例,使用锁)
6.写一个二叉搜索树的插入和查询
二面
(有点乱,有的问题很迷)
1.上亿台机器如何进行处理
2.一致性哈希算法知道吗(项目涉及)
3.JAVA基础知识:
equals和==;
object类中的hashcode()方法;
接口和抽象类的区别;
内存结构图
4.C++基础知识:
内存管理:如何处理内存碎片;
写一个helloworld程序,解释头文件,命名空间,::可以用于哪些地方,main函数的返回值是否可以为void,<<符号是什么意思;
hashMap底层具体怎么写的,hash解决冲突是采用链表吗?
5.数据结构:有序哈希如何实现(数组改为链表即可)
6.计算机基础:
大端小端是怎么回事与网络发送顺序有关吗
一页有多大,与计算机位数有关吗
6.高并发程序写过吗
7.机器学习:损失函数,梯度下降,房价预测怎么做
8.网络:TCP/UDP联系;tcp包里包含哪些东西;常用端口号http,htps,ftp等
三面
1.URL访问到数据返回的整个流程
2.归并排序的思路
3.编程:数组实现栈(push,top,pop)
4.第K大:排序/堆/快速选择
5.大数据的知识有了解吗,hadoop,hbase,hive等