面试岗位:java研发
-
笔试
详细内容记不太清了,主要说一下需要准备的内容:
基础知识:语言基础,数据库,计算机网络,操作系统,数据结构,Linux
算法题:编程题的难度中等偏下,可以在LeetCode,牛客网等网站上练习
-
面试
一面:
聊简历上的项目
谈到项目有可提升的空间后,现场其中一个项目进行了重新架构
注意点:对项目要理解透彻,有自己的想法,有一个简单的架构的知识。
java基础
手撕了几个容器底层实现原理,如 ArrayList如何动态扩容;LinkedList底层实现;hashmap底层实现;hashmap多线程不安全,此情况下采用什么容器,concurrenthashmap底层实现等。
数据库
给了两个表,a表(字段c1,字段c2)和b表(字段c2,字段c3),要求查出a表中不包含b表C2字段所有信息,思考最高效的算法(用到了 join与索引)
Linux
实时监控日志的命令,实时监控系统资源的命令
手写代码
一道算法题,给y,m,d三个数分别代表年月日。写一个算法,求这是这一年的第几天。
注意点:手写的代码要完整,有良好的编程风格
二面:
项目细节讨论
注意点:对项目要理解透彻,有自己的想法,面试前记得回顾一下自己的项目代码
手写代码:适配器模式
注意点:手写的代码要完整,有良好的编程风格,对几种常用的设计模式要熟练掌握
手写代码:判断一个二叉树是否完全对称
注意点:手写的代码要完整,有良好的编程风格,常见数据结构要熟练掌握
IO流
具体问的io流相关知识,细节记不太清了,熟练掌握相关知识即可
Spring AOP
掌握相关知识即可
多线程知识:
wait()与sleep()区别 ThreadLocal
JVM知识:
堆区参数调优,GC底层实现原理,回收算法等
数据库基础知识
熟练掌握知识即可
三面(team leader面,技术提问不多):
聊项目
聊项目内容,然后聊到项目的市场价值,然后聊到大数据,聊到人工智能,聊到数据的重要性,聊到百度的AI战略部署等等
注意:别紧张,想到啥说啥就行
技术提问
聊到我有写博客,写思维导图的习惯就直接看我的博客和思维导图学习笔记
手写装饰者模式
还有一些java知识的提问,记不太清了
Ps:百度没有hr面,三轮技术面,hr面直接谈薪资询问是否接受。
2018秋招参加的笔试有20几场,面试参加有10场,最后拿到的offer有7,8家,自己感觉中意的有百度、瓜子二手车、农行总部研发、大华这四家,最后选择了百度。 这其中经历了很多,投出去简历没有回音也会感到失落,第一次面试也会感到紧张,第一次拿到offer也会感到激动。这次秋招自己收获最大的或许不是拿到理想的职位,而是一种心性的蜕变,也真正的体会到社会竞争的激烈。
未来的路未可知。但我相信,只要努力终归会走出一条属于自己的路。