标签


别人的百度面经整理,看自己还欠缺哪部分知识

2014年11月02日

进程线程

1.进程间有几种通信方式
2.linux下如何修改进程优先级?(nice命令的使用)。
3.进程调度算法,有哪些算法比较难实现?
4.多线程的适用场景是什么?为啥要用多线程?

数据结构

1.Hash
(1)Hashmap、Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制、cocurrentHashMap的桶分割原理、多线程安全性。

2.二叉树
(1)求二叉树的最大距离(即相距最远的两个叶子节点),写代码。
(2)求二叉树的宽度,先简介思路再写代码。
(3)打印二叉树两个叶子节点间的路径,写代码。

3.栈(stack)和队列(queue)
(1)两个栈实现一个队列,写代码。

Linux

1.linux下性能监控命令uptime介绍,平均负载的具体含义是什么?建议看server load概念。
2.linux下如何调试程序?说到gdb,具体如何调试?如何查看core文件中的堆栈信息等(bt指令)。

Miscellaneous

1.Java中垃圾回收机制,程序员平时需要关注这个吗?为什么?请举例说明。
2.字符串中第一个只出现一次的字符,如何优化算法使得遍历次数更少?
3.socket编程相关,如果服务器这边调用write写了100个字节的数据,客户端想要获得这个数据,是直接用read系统调用,参数也是100吗?
4.数据库隔离级别介绍、举例说明。
5.override和overload的区别。(虚函数下override,重载overload)
6.最后面试官说像计算机体系结构、操作系统这样的书一定要看国外的,国内的有时候会误导人。