真实面经分享:来自一位刚拿到百度offer的程序员的面试心得

1. 引言

今年都说是程序员的寒冬,面试相对于以前都难了许多,不过刚好最近刚好群里有学员面试百度成功,拿到了offer,就稍微的聊了一下,并总结了一下他关于面试的一些心得,以及题目,分享给大家,希望能对大家有些帮助。


v2-af543fd2f2de5f80660676856f320e64_b.jpg


2. 面试过程

第一轮面试:

为什么离开上家公司

然后问了一些关于多线程,数据库,Jvm等相关的技术问题,

后续将整理面试的相关题目

第二轮面试:

  • 为什么离开上家公司。
  • 详细问了在每家公司的情况。
  • 介绍了做过的两个项目的架构图。
  • 从0-1组建项目团队怎么组建。
  • 技术选型怎么选。
  • 如何满足需求。
  • 自我感觉笔试题答的如何,Linux简单命令。
  • 作为leader,在开发过程中,有木有什么规范。
  • 介绍应聘的岗位主要是和大数据相关的,有了解么,觉得自己能胜任么。
  • 问在现在公司,和其他人比,是什么程度。相比其他同事,我有什么比较优势。
  • 谈薪资要求,并给出了和HR谈的建议薪资。
  • 是否介意加班。

第三轮面试:

  • 聊各家公司的经历。
  • 介绍薪资体系。
后记:本来说定的2天后给答复,后来,在周一HR主动打了学员电话,说再等两天,再后来学员主动打电话,又说还得等一周左右。
经验:高级职位的话,大公司比较少当天就给offer,慢慢等吧,不管你和面试官聊的多投机,都别以为“定了”。往好的方面想,可能是在走流程;往坏的方向想,可能正如网上所说,大的公司一般都会同一个职位面试多个人之后,再做决定。要有等待的心理预期。
最终,在大概10天后发了Offer。

3.面试题目整理

多线程:

  • 多线程的几种实现方式,什么是线程安全,什么是重排序
  • volatile的原理,作用,能代替锁么
  • sleep和wait的区别,以及wait的实现原理
  • Lock与synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
  • 用过哪些原子类,他们的参数以及原理是什么
  • 用过哪些线程池,他们的原理简单概括下,构造函数的各个参数的含义,比如coreSize,maxsize等
  • 有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同时调用它,如何做到。
  • spring的controller是单例还是多例,怎么保证并发的安全
  • 用三个线程按顺序循环打印abc三个字母,比如abcabcabc
  • ThreadLocal用过么,原理是什么,用的时候要注意什么
  • 如果让你实现一个并发安全的链表,你会怎么做

算法:

  • 10亿个数字里里面找最小的10个
  • 有1亿个数字,其中有2个是重复的,快速找到它,时间和空间要最优
  • 2亿个随机生成的无序整数,找出中间大小的值
  • 遍历二叉树

数据库:

  • 数据库隔离级别有哪些,各自的含义是什么,MYsql默认的隔离级别是是什么,各个存储引擎优缺点
  • 高并发下,如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB的行级锁有哪2种,解释其含义
  • SQL优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义,索引的原理?
  • 数据库会死锁吗,举一个死锁的例子,mysql怎么解决死锁 MYsql的索引实现方式 聚集索引和非聚集索引的区别 数据库中
  • BTREE和B+tree区别

4.面试总结

因为参加的是百度的社招面试,而社招不同于校招,问题的范围其实是很随机的。因为能参加一些比较知名的互联网公司社招的人,70%以上都会有个3-5年的经验。这个时候就需要更加巩固自己的职业技能,这里我总结了一些面试的资料

点击此处传送门获取文档的完整版

十万字面经

目录


v2-e6e5ac90b072442d08dbe99203244efe_b.jpg



笔记内容

基础篇



v2-737be42c486404e5b1613f88c8cd01a2_b.jpg


JVM篇


v2-ed774442d36adf272cf05e2fbe4a0168_b.jpg


多线程&并发篇



v2-ebc9028266b12a190569cd03567d5a5d_b.jpg


Spring篇


v2-11fb8c2ccbabc63d35b487a4babe8d6e_b.jpg


MyBatis篇


v2-90b4c554e8c853d1045d8a125f0c8222_b.jpg


SpringBoot篇


v2-f921334b0c697a3e7fdd6697cf23cc46_b.jpg


MySQL篇


v2-b06ca7a3bdc509b964f490835d21d635_b.jpg


Dubbo篇



v2-0c89c8f81b75df8e9c4f151028c8c52e_b.jpg


Nginx篇



v2-53f0ac3a3b8d975d8ea56d03759f37e5_b.jpg


MQ篇


v2-8d16dfab47b3d0edac6598131e0eadc8_b.jpg


数据结构与算法篇

Linux篇


v2-7569a8fc376249091a2abab5dfa3dc52_b.jpg


Zookeeper篇


v2-d28b44865cb163631e3db9f43f7afa4f_b.jpg


Redis篇


v2-462a88bfb6a61631606242bd82f1fce6_b.jpg


分布式篇


v2-6601543cc188a26d593374611afaca2b_b.jpg


网络篇


v2-88c82786cfe3fb66dde49ed8c33b3d6e_b.jpg


设计模式


v2-4626bee22d80763789e26f23edb3fa39_b.jpg


maven篇


v2-06706dadc23816a2173dfdbcfba22303_b.jpg


ElasticSearch篇


v2-bc6754b7b34cc3cb1fec73d63ab9dfb3_b.jpg


tomcat篇



v2-b7d18c4e187585611d72f93d8b1a7ad7_b.jpg


Git篇


v2-600b469332e3dcfa35af773bc4b48352_b.jpg


软实力篇


v2-6c7d922e0c75f63f50f720ed1ea018a7_b.jpg


点击此次获取完整版文档

面试突击手册
目录


v2-720cc6bac3ec836e1ea853277ad6fc46_b.jpg



部分内容展示



v2-cd3fd5b8c5f4831e1f9a441b96d7f714_b.jpg



v2-afc4f3bb925e2c71085a7f20947ec4bb_b.jpg



v2-24bbefc4d9a52a1609ddbfb8a6affb89_b.jpg



v2-5eec8e119c62ec1ce6aa2665e0f30bd7_b.jpg



v2-dc280a29b2c73f9676fcf79edd575262_b.jpg


限于平台篇幅原因,更多内容展示不了

最后

这里和大家说几个这段时间的总结的一些经验:

  • 持续学习:很多人都听说过这个行业在内卷吧,应对内卷最好的办法就是持续学习,其他人都在进步,你不进步就等于在退步!
  • 扩宽人脉:在这个行业的时候有人脉就等于有很多的内推,就算你哪天说不想在这个行业干,也可以看看其他人在做什么,有没有好的工作等等,人脉真的很重要!
  • 系统性的学习:学习时先搭建起框架,再填充框架,这样的学习效率会高很多,如果是零碎的学习,最后你可能很多地方联系不到一起,这叫知识碎片化,学习效率,知识的吸收率都会低很多
  • 大厂没那么可怕:大厂的面试问的确实会深很多,但不是漫无目的的深入来为难你,而是为了了解你的技术栈
  • 要薪资时别怂:学这么多技术不就是为了拿到更多的薪资吗?只要你有实力,你就可以往上要
  • 想说的话很多,最后总结下来就一句话:技术才是你的立身之本!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值