2.1 KiB
面试记录
1. 2017.7.8, 百度SRE面试
面了108分钟,手机都快没电了,主要问的是项目,然后根据我的专业技能问了一些基础的东西。
(1) du 和 df 的区别
du 和 df的命令都被用于获得文件系统大小的信息;
du, disk usage, 通过搜索文件来计算每个文件的大小,然后累加,du能看到的文件只是一些当前存在的,没有被删除的。
df, disk free, 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
(2) kafka 组件
(3) HDFS读写文件等
2. 2017.7.27,百度深研院
(1) kafka 什么时候 rebalance, consumer 的 session.timeout.ms的配置项是干嘛的?
(2) java String StringBuffer StringBuilder 的区别?
(3) linux 如何查看线程、端口占用情况?
(4) java 如何实现线程安全?
(5) jvm 内存分配策略,GC 触发条件, 收集器?
(6) TCP 四次挥手的过程?time_out的缺点?
(7) mysql 的 group by 和 partition by?
答:group by 用来做聚合操作,partition by 用于对某个字段分区,然后做某些操作。
普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。 分析函数的形式:分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(order by), 窗口(rows) 。
partition by:
(8) 海量数据去重,例如大量的IP地址,如何去重?
答:MapReduce
(9) 进程间通信方式?
答:管道,命名管道,消息队列,信号量,共享内存。