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

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

2017-12-22 00:00 627 查看


百度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



双十一架构专题学习交流群:478052716



性能优化专题



源码分析专题



工程化专题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息