1.2拿百度offer的三面经历
百度java程序员一面:
1 手写ArrayList
2 手写进制转换算法,求出一个数的二进制数1的个数
3 JAVA基础 equals和==
4 多线程方式、threadlocal,各种锁,synchronized和lock
5 设计模式、spring类加载方式、实例保存在哪、aop ioc、反射机制
6 类加载器,双亲委派模型,热部署
7 jvm内存模型,内存结构、堆的分代算法、堆的分区、gc算法、gc过程。
8 tcp ip 七层模型 rest接口规范 get和post区别,长度,安全。
9 tcp ip的arp协议,两个同一网络的主机如何获得对方的mac地址。
10 负载均衡、高并发、高可用的架构
11 mysql的引擎区别
12 redis缓存,redis的集群部署,热备份,主从备份,主从数据库,hash映射找到知道指定节点。
13 了解云计算么,了解云容器docker么,容器和虚拟机的区别。
百度java程序员二面:
1自我介绍 项目中负责哪些 做了哪些
2项目中的数据库备份,主从数据库、集群
3数据库的索引原理,b+树原理,trie树引申,二叉查找树的原理
4海量数据中查找一个单词,分布式计算map reduce ,或者用hsah映射筛选部分结果
5java的抽象类和接口区别、java的hashmap,java的内存模型,分区,分代垃圾回收算法。实例、常量放在哪里。
6 int 4个字节,double 8个字节。
7 多线程中的wait和sleep区别,notify的作用
8 设计模式了解哪些,写一个观察者模式。实现两个接口,一个是主题一个是观察者,并写出对应方法。
9写一个生产者消费者队列的方法,分别写两个类代表生产者和消费者,并且用队列模拟其生产消费。用while循环和wait
notify可以实现,但我忘记在队列上加synchronize关键字,于是让我再写一题。写的是:输入一个字符串,输入第一个只出现一次的字符,写出来了。
10:tcp
ip的四次挥手 子网掩码的作用, 子网掩码(subnet mask)又叫 网络掩码 、 地址掩码 、子网络遮罩,它是一种用来指明一个 IP地址
的哪些位标识的是 主机
所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成
网络地址 和 主机地址 两部分。
11 :了解linux么,说一下linux的内核锁?没接触过。
12 有没有用过sed 使用shell脚本写一个将文本中的字符替换掉的脚本,大概说了一下用grep || 替换。没再问linux的
百度三面:
1自我介绍
2负责模块,哪些模块,项目一的架构,我说太久了忘了,说最近的项目。
3数据库连接池用的是什么,配置文件呢,数据库驱动怎么下载的,持久层框架呢。
4为什么要用数据库连接池,有什么好处。
5java的内存模型,变量和实例存在哪。java栈的作用,java的堆存什么,方法区存什么。
java的分代回收。
6项目如何部署到云主机上,有什么速度提升,为什么有提升,答主要是设备性能和带宽。
7tomcat的配置,堆得初始大小是多少,达不知道。
8在网易实习的相关事项。
9问遇到过什么难题。
10问台湾交流经历,学习内容。
11问在遇到问题时候的办法。
12抗压能力
13优缺点
14接受加班。
15遇到工作问题,同事不配合怎么办。
16快速上手工作的办法。
17平时学习的方法,举几点。
18为什么要换工作,个人,女友。详情。
19什么时候能来。
20职业规划