您的位置:首页 > 职场人生

一位高级Java程序员百度offer的三面经历,分享给迷茫的你

2018-01-06 16:29 691 查看

百度java程序员一面:

手写ArrayList
手写进制转换算法,求出一个数的二进制数1的个数
JAVA基础 equals和==
多线程方式、threadlocal,各种锁,synchronized和lock
设计模式、spring类加载方式、实例保存在哪、aop ioc、反射机制
类加载器,双亲委派模型,热部署
jvm内存模型,内存结构、堆的分代算法、堆的分区、gc算法、gc过程。
tcp ip 七层模型 rest接口规范 get和post区别,长度,安全。
tcp ip的arp协议,两个同一网络的主机如何获得对方的mac地址。
负载均衡、高并发、高可用的架构
mysql的引擎区别
redis缓存,redis的集群部署,热备份,主从备份,主从数据库,hash映射找到知道指定节点。
了解云计算么,了解云容器docker么,容器和虚拟机的区别。

百度java程序员二面:

自我介绍 项目中负责哪些 做了哪些
项目中的数据库备份,主从数据库、集群
数据库的索引原理,b+树原理,trie树引申,二叉查找树的原理
海量数据中查找一个单词,分布式计算map reduce ,或者用hsah映射筛选部分结果
java的抽象类和接口区别、java的hashmap,java的内存模型,分区,分代垃圾回收算法。实例、常量放在哪里。
int 4个字节,double 8个字节。
多线程中的wait和sleep区别,notify的作用
设计模式了解哪些,写一个观察者模式。实现两个接口,一个是主题一个是观察者,并写出对应方法。
写一个生产者消费者队列的方法,分别写两个类代表生产者和消费者,并且用队列模拟其生产消费。用while循环和wait notify可以实现,但我忘记在队列上加synchronize关键字,于是让我再写一题。写的是:输入一个字符串,输入第一个只出现一次的字符,写出来了。
tcp ip的四次挥手 子网掩码的作用, 子网掩码(subnet mask)又叫 网络掩码 、 地址掩码 、子网络遮罩,它是一种用来指明一个 IP地址 的哪些位标识的是 主机 所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成 网络地址 和 主机地址 两部分。
了解linux么,说一下linux的内核锁?没接触过。
有没有用过sed 使用shell脚本写一个将文本中的字符替换掉的脚本,大概说了一下用grep || 替换。没再问linux的

百度三面:

自我介绍
负责模块,哪些模块,项目一的架构,我说太久了忘了,说最近的项目。
数据库连接池用的是什么,配置文件呢,数据库驱动怎么下载的,持久层框架呢。
为什么要用数据库连接池,有什么好处。
java的内存模型,变量和实例存在哪。java栈的作用,java的堆存什么,方法区存什么。
java的分代回收。
项目如何部署到云主机上,有什么速度提升,为什么有提升,答主要是设备性能和带宽。
tomcat的配置,堆得初始大小是多少,达不知道。
在网易实习的相关事项。
问遇到过什么难题。
问台湾交流经历,学习内容。
问在遇到问题时候的办法。
抗压能力
优缺点
接受加班。
遇到工作问题,同事不配合怎么办。
快速上手工作的办法。
平时学习的方法,举几点。
为什么要换工作,个人,女友。详情。
什么时候能来。
职业规划
在网上经常看到一些别的朋友有提出项目经验的问题,依照我面试的感觉来说,面试主要看几点:项目经验+基本技术+个人潜力。项目经验主要是看你的工作年限+你懂的技术,所以无论怎么说技术才是最重要的,如果你的技术不足那么你现在就要想好自己还要不要继续走上Java程序员 这条路,如果答案是YES那么就要去补给你的知识技术系统了。

下面是我收藏的一个系统化学习的课程体系,对源码分析、性能优化、微服务架构、工程化、分布式。当然也有你们最需要的模拟面试java学习交流群:478052716





 




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java java高级 java编程