当前位置: 首页 > news >正文

外包离职,历时学习416天,成功上岸百度,分享成长过程~

前言:

没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。

2020年7月,我有幸成为了百度的一名Java后端开发,正如标题所说,我从外包辞职了,10000小时后,走进百度拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。

下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享

百度Java工程师面试经历还原

1.百度4面面试题

因为我个人有复盘的习惯,所以在面试百度时,基本是做到了每一轮结束就把面试题给总结出来,当然总结出来的可能跟实际情况有细微出入,但相差不大,基本上是我记忆里的极限。

Java基础部分

  • 重载和重写的区别
  • 接口和抽象类的区别
  • HashMap和HashTable有什么区别?其底层实现是什么?
  • 什么是字节码?采用字节码的好处是什么?
  • Java中的异常体系
  • GC如何判断对象可以被回收
  • ==和equals比较
  • List和Set的区别
  • ConcurrentHashMap原理,jdk7和jdk8版本的区别
  • 为什么局部内部类和匿名内部类只能访问局部final变量?
  • String、StringBuffer、StringBuilder

线程、并发相关

  • 线程的生命周期?线程有几种状态
  • GC如何判断对象可以被回收
  • sleep()、wait()、join()、yield()的区别
  • 对线程安全的理解
  • Thread、Runable的区别
  • 对守护线程的理解
  • ThreadLocal的原理和使用场景
  • ThreadLocal内存泄露原因,如何避免
  • 并发的三大特性
  • 为什么用线程池?解释下线程池参数?
  • 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?

Spring

  • 如何实现一个IOC容器
  • 谈谈你对IOC的理解
  • BeanFactory和ApplicationContext有什么区别?
  • 描述一下Spring Bean的生命周期?
  • Spring框架中的单例Bean是线程安全的么?
  • 解释下Spring支持的几种bean的作用域。
  • Spring 框架中都用到了哪些设计模式?
  • Spring事务的实现方式和原理以及隔离级别?
  • 什么是bean的自动装配,有哪些方式?
  • Spring事务什么时候会失效?

Spring MVC、Spring boot

  • Spring Boot、Spring MVC 和 Spring 有什么区别
  • SpringMVC 工作流程
  • Spring MVC的主要组件?
  • Spring Boot 自动配置原理?
  • 什么是嵌入式服务器?为什么要使用嵌入式服务器?
  • 如何理解 Spring Boot 中的 Starter
  • 什么是嵌入式服务器?为什么要使用嵌入式服务器?

Mybatis

  • mybatis的优缺点
  • MyBatis 与Hibernate 有哪些不同?
  • #{}和${}的区别是什么?
  • mysql聚簇和非聚簇索引的区别
  • 简述 Mybatis 的插件运行原理,如何编写一个插件。

Mysql

  • mysql索引的数据结构,各自优劣
  • 索引设计的原则?
  • 什么是最左前缀原则?什么是最左匹配原则
  • 锁的类型有哪些
  • 事务的基本特性和隔离级别
  • InnoDB存储引擎的锁的算法
  • 关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
  • ACID靠什么保证的?
  • 分表后非sharding_key的查询怎么处理,分表后的排序?
  • 什么是MVCC
  • mysql主从同步原理
  • 简述mysql中索引类型及对数据库的性能的影响

其他:(HR和Leader都问了一些开发性问题)

  • 你认为遇到过最大的挫折是什么?怎么解决的?
  • 职业规划
  • 对百度的认识
  • 你认为百度是一家年轻的公司吗?年轻是核心竞争力吗?
  • 你有没有崇拜的人
  • 不考虑公司地理因素,最想要去哪个城市工作?
  • 平时的兴趣爱好?
  • 喜欢写博客吗?看什么书?

刷题:BAT一线大厂面试试题

刷题:专题面试题

下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享,加Java进阶交流群:714827309

百度面试总结(心得和小建议)

百度对算法真的非常重要,提前刷题真的很有必要,不然基本上没戏,运气好的说不定还能被问到原题,当然你是算法大神,就不需要浪费时间在这上面了。

基本上每轮都有算法题,1~3道左右,难度不一,一般根据当次面试情况来的,会考虑的面试者的表现,但也不会太为难你。

拿到算法题时,不要立即作答,可以先和面试官聊一下自己的思路。

B:我为什么想要去百度?(百度的优势)

①福利待遇

我不是hr,也不是给百度打广告,这里真的要提一下百度的福利待遇绝对是一线厂子里数一数二的。加上我是外包出身,这种待遇给我造成的落差感就更明显,让我觉得能够进百度工作算是我最大的幸运了。

②巨大的知识库

百度对于我来说,算是一个巨大的知识库,之所以这么说,从面试的流程及细节,到后来我入职之后工作上面的安排,都让我有不一样的触动。从这几方面,我们都能够感受到公司对于员工的职业规划非常重视,你的主管和导师都会主动去找你沟通这方面的,这对比我之前的外包,是截然不同的地方。而在这个交流过程中,我获得到的,不是一星半点。

最让我佩服的是,百度有统一的入口可以导航到海量的指南和知识沉淀,甚至是其他各个产品线整理的技术和业务文档等等。

③我看到了认同

来到百度,我看到了认同,收获了归属感。百度虽然年轻,但在做事上有共同一致的目标,它不是条条框框的束缚,它是一种精神食粮,实质是一种价值认同。恰好,拥有同一种价值认同的人走到了一起。

④虽辛苦,但不感觉累

百度是一家非常年轻化的公司,对于一线的互联网公司来说,996是常态,百度也脱离不开“加班”二字。但是给我最大不同的感受是,忙碌且生机勃勃。在这工作一段时间了,我也算是跟上了这里的节奏,虽然辛苦,但我却一点也不感觉累,因为在充实的工作环境中,我是有所收获的,在公司野蛮生长的同时,我个人也得到了快速的成长。

另外,别以为一线大厂的“打工人”只会死工作,百度人最大的特点就是年轻,他们同样会玩,每个人都有自己的爱好,骑行、狼人杀、健身、摄影、瑜伽等等,这与我之前对大厂人的印象显然不同,我也一点一点在慢慢被影响着。

⑤反思:关注工作效率

以前觉得自己的工作效率和时间管理做得还不错,至少能拿出时间做一点大家想做却没有做的事情,但现在才发现这也许只是错觉,你总做容易的事情,当然不会感觉到时间的压力,即便是项目进度比较紧的时候,加加班,搞搞996似乎也就那么回事。我们通常都会愿意延长时间,而不是考虑如何提高效率,在同样的时间内完成更多的工作,当然也有很多不言自明的客观原因。

来百度后,我才从身边同事的工作细节中看到了什么才是“效率”。

C:外包教了我什么?

很多人认为在外包学不到什么东西,但我却不这么认为,无论你身处什么环境,造成什么样结果的人都是你自己。所以,在外包工作的这些年,我并不是单一的机械化敲代码,在这个过程中,我会主动地去复盘,去总结,去学习,而慢慢积累的工作方式才铸就了我今天的“质变”。

在外包中,我积累到了什么?

  • 代码效率;
  • 各种项目和业务的理解;
  • 熟练使用增删改查。

在外包中,我复盘了什么?做了哪些总结?

需要文章中提到的面试题、笔记、电子书、学习视频,可以加Q:3435538127 即可免费获取下载方式哦。

Java程序员大厂冲刺指南面经篇

Java虚拟机面试题
1000道互联网Java工程师面试题

下一个3年如何规划?

1.确定发展方向

程序员生涯大致分为五个阶段:

第一阶段:2-3年,初级程序员

第二阶段:3-5年,中级程序员

第三阶段:4-7年,高级程序员

第四阶段:5-8年,互联网架构师,大数据工程师

第五阶段:8年+,技术总监,技术主管,首席架构师

目前,我处于第二阶段,有一定的工作经验,可以独立做一些项目,也有自己的代码习惯,甚至在团队中我也可以担任重要的角色。而日后的1-2年内,我肯定是要往三阶段过渡,甚至是四阶段过渡。

2.确定学习路线

3.学习方法

我个人的学习方法很简单,利用碎片时间进行系统性的学习。关于学习方法,我个人喜欢阅读书籍文档结合视频的方式,对于这些我自己个人也有一些整理。

视频学习

最后:

我想,可能还有很多人在今年刚过去的金三银四春招中保持着观望的形势,害怕自己的能力不够,或者是安于现状,觉得目前拿着几千的月薪觉得能够接受,那么你就要注意了,这是非常危险的!

我们身为技术人员,最怕的就是安于现状,一直在原地踏步,那么你可能在30岁就会迎来自己的职业危机,因为你工作这么久提升的只有自己的年龄,技术还是万年不变!

我知道,对于一些学历没有优势的人来说,外包是别无选择,但是未来的路究竟要怎么走,取决你的步子迈多开。每个人都有自己的选择,如果你喜欢稳定,那按部就班适合你,但你有想法,不甘平庸,那就别让外包埋没了你。

如果你想在未来能够自我突破,圆梦大厂,那或许以上这份学习资料,你需要阅读阅读,希望能够对你的职业发展有所帮助。

最后,希望未来的我发展顺利,早日拿下p7!同样,也祝愿你实现自己的人生理想,愿我们都越来越好,共勉!

获取方式: 只需你**点赞+关注**后,Java进阶交流群:714827309 哦-!


获取方式: 只需你点赞+关注后,Java进阶交流群:714827309 进群拿资料哦-!

相关文章:

外包离职,历时学习416天,成功上岸百度,分享成长过程~

前言: 没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力幸运,但如果你不够幸运,那就只能拉高努力的占比。 2020年7月,我有幸成为了百度的一名Java后端开发&#xff0c…...

利用客户支持建立忠诚度和竞争优势

客户支持可以极大地改变您的业务;最细微、最微妙的差异都会使拥有一次性客户和拥有终身客户之间产生差异。在这篇博文中,我们将揭示客户对企业的忠诚度的三种核心类型,以及如何利用强大的客户支持工具和原则来提高理想的忠诚度并获得决定性的竞争优势。一…...

看他人代码小总结

针对几个功能类似的函数: 1.需要经常调试则定义一个参数比如is_debug来选择是否在调试,定义一些参数专门用于调试用,不用每次都修改这些参数,只需要修改is_debug这个参数; 2.把其中的变量(常量)单独拎出来放到一个文件…...

cudaMemGetInfo()函数cudaDeviceGetAttribute()函数来检查设备上的可用内存

使用CUDA Runtime API中的cudaMemGetInfo()函数来检查设备上的可用内存。该函数将返回当前可用于分配的总设备内存大小和当前可用于分配的最大单个内存块大小。 示例代码,演示了如何在分配内存之前和之后调用cudaMemGetInfo()函数来检查可用内存 size_t free_byte…...

【基础阶段】01中华人民共和国网络安全法

文章目录1 网络安全行业介绍2 什么是黑客和白帽子3 网络安全课程整体介绍4 网络安全的分类5 常见的网站攻击方式6 安全常见术语介绍7 《网络安全法》制定背景和核心内容8 《全国人大常委会关于维护互联网安全的决定》9《中华人民共和国计算机信息系统安全保护条例》10 《中华人…...

隐私计算领域大咖推荐,这些国内外导师值得关注

开放隐私计算 经过近一个月的信息收集,研习社已经整理了多位国内外研究隐私计算的导师资料。邻近考研复试,研习社希望小伙伴们能够通过本文整理的信息,选择自己心仪的老师,在研究生的路途上一帆风顺!1. 国内隐私计算导…...

009 uni-app之vue、vuex

vue.js 视频教程 vue3.js 中文官网 vue.js 视频教程 vue语法:https://uniapp.dcloud.net.cn/tutorial/vue-vuex.html vue2迁移到 vue3:https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html Vuex Vuex 是一个专为 Vue.js 应用程序开发的…...

Linux防火墙——SNAT、DNAT

目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条件 1、临时打开 2、永久打开 3、SNAT转换1:固定的公网IP地址 4、SNAT转换2:非固定的公网IP地址(共享动态IP地址) 二、SNAT实验 配置web服务…...

递归理解三:深度、广度优先搜索,n叉树遍历,n并列递归理解与转非递归

参考资料: DFS 参考文章BFS 参考文章DFS 参考视频二叉树遍历规律递归原理源码N叉树规律总结: 由前面二叉树的遍历规律和递归的基本原理,我们可以看到,二叉树遍历口诀和二叉树递推公式有着紧密的联系 前序遍历:F(x…...

MATLAB 2023a安装包下载及安装教程

[软件名称]:MATLAB 2023a [软件大小]: 12.2 GB [安装环境]: Win11/Win 10/Win 7 [软件安装包下载]:https://pan.quark.cn/s/8e24d77ab005 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算…...

QT学习开发笔记(数据库之实用时钟)

数据库 数据库是什么?简易言之,就是保存数据的文件。可以存储大量数据,包括插入数据、更 新数据、截取数据等。用专业术语来说,数据库是“按照数据结构来组织、存储和管理数据的 仓库”。是一个长期存储在计算机内的、有组织的、…...

Docker常规安装简介

总体步骤 搜索镜像拉取镜像查看镜像启动镜像,服务端口映射停止容器移除容器 案例 安装tomcat docker hub上面查找tomcat镜像,docker search tomcat从docker hub上拉取tomcat镜像到本地 docker pull tomcatdocker images查看是否有拉取到的tomcat 使用tomcat镜像创…...

Python - PyQT5 - ui文件转为py文件

在QTdesigner图形化编辑工具中,有些控件我们是可以直接在编辑界面进行编辑的,有些是不可以编辑的,只能通过Python代码进行编辑,不过总体来说,所有能够通过图形化编辑界面可以编辑的,都可以通过Python语言实…...

分布式事务和分布式锁

1、关于分布式锁的了解? 原理:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。 具备的条件: ①分布式环境下,一个方法在同一时间只能被一个机器的一个线程执行 ②高可用的获取锁和释放锁 ③高性能…...

JAVA-4-[Spring框架]基于XML方式的Bean管理

1 Spring IOC容器 (1)IOC底层原理 (2)IOC接口(BeanFactory) (3)IOC操作Bean管理(基于XML) (4)IOC操作Bean管理(基于注释) 1.1 IOC概念 (1)控制反转(Inversion of Control),把对象的创建和对象之间的调用过程,交给Spring进行管理。 (2)使用IOC目的&…...

路科验证UVM入门与进阶详解实验0

一.代码编译 首先创建新项目,导入lab0 的UVM文件; 针对uvm_compile文件,先进行编译; module uvm_compile;// NOTE:: it is necessary to import uvm package and macrosimport uvm_pkg::*;include "uvm_macros.svh"in…...

Linux之Shell编程(1)

文章目录前言一、Shell是什么二、Shell脚本的执行方式脚本的常用执行方式三、Shell的变量Shell变量介绍shell变量的定义四、设置环境变量基本语法快速入门五、位置参数变量介绍●基本语法●位置参数变量六、预定义变量基本介绍基本语法七、运算符基本介绍基本语法前言 为什么要…...

Java问题诊断工具——JVisualVM

这篇文章源自一次加班改bug的惨痛经历[,,_,,]:3负责的一个项目占用不断增加,差点搞崩服务器(╥﹏╥)……一下子有点懵,不能立刻确定是哪里导致的问题,所以决定好好研究下这个之前一直被我忽视的问题诊断工具🔧——JVisualVM嘿嘿我…...

Python3实现简单的车牌检测

导语Hi,好久不见~~~两周没写东西了,从简单的开始,慢慢提高文章水准吧,下一个月开始时间就会比较充裕了~~~利用Python实现简单的车牌检测算法~~~让我们愉快地开始吧~~~相关文件网盘下载链接: https://pan.baidu.com/s/1iJmXCheJoWq…...

基于支持向量机SVM多因子测量误差预测,支持向量机MATLAB代码编程实现

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,SVM的测量误差预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特…...

新农具时代,拼多多的进击与本分

这几年,乡村振兴被频频提及,核心就是经济振兴。但经济振兴,不能只靠政府,更要靠企业,政府引导、企业主导才能真正让农民、农村、农业长期受益。企业中,被寄予厚望的是电商企业。甚至,电商成为了…...

质量工具之故障树分析FTA(2) - FTA的基本概念

关键词:问题解决、故障树、故障树分析、FTA、可靠性、鱼骨图、根本原因分析 前文我们已经详细介绍了FTA的历史。 我们在工作中碰到一个问题,可以利用的问题解决工具有很多,故障树分析FTA就是其中之一。 但是FTA毕竟是相对复杂较难掌握的工具…...

《高质量C/C++编程》读书笔记二

文章目录前言三、命名规则四、表达式和基本语句if语句循环语句五、常量前言 这本书是林锐博士写的关于C/C编程规范的一本书,我打算写下一系列读书笔记,当然我并不打算全盘接收这本书中的内容。   良好的编程习惯,规范的编程风格可以提高代码…...

常用的美颜滤镜sdk算法

本文主要介绍常见的美颜滤镜SDK算法,包括 SRGB、 HSL、 Lab、 JPEG、 TIFF等。本文不会过多介绍算法原理,只是列举一些在实际项目中用到的滤镜效果,如: 1.色彩空间变换 2.颜色范围调节 3.色彩平衡调节 4.灰度级调节 5.色相/饱和度…...

动态SQL必知必会

动态SQL必知必会1、什么是动态SQL2、为什么使用动态SQL3、动态SQL的标签4、if 标签-单标签判断5、choose标签-多条件分支判断6、set 标签-修改语句7、foreach标签7.1 批量查询7.2 批量删除7.3 批量添加8、模糊分页查询1、什么是动态SQL 动态 SQL 是 MyBatis 的强大特性之一。如…...

DML编程控制

id生成策略 模型类: Data TableName("tbl_user") public class User {TableId(type IdType.AUTO)TableId(type IdType.NONE)TableId(type IdType.INPUT)TableId(type IdType.ASSIGN_ID)TableId(type IdType.ASSIGN_UUID)private Long id;private String name;T…...

关于肺结节实时的目标检测

目录 1. 对屏幕固定区域的检测 1.1 代码 1.2 结果展示 2. video 检测 2.1 代码 2.2 展示...

利用 Rainbond 云原生平台简化 Kubernetes 业务问题排查

Kubernetes 已经成为了云原生时代基础设施的事实标准,越来越多的应用系统在 Kubernetes 环境中运行。Kubernetes 已经依靠其强大的自动化运维能力解决了业务系统的大多数运行维护问题,然而还是要有一些状况是需要运维人员去手动处理的。那么和传统运维相…...

C++中的future和promise使用方法

future和promise C11中std::future提供了一种访问异步操作结果的机制。异步操作不能马上就获取操作结果,只能在未来某个时候获取,但可以以同步等待的方式来获取结果,可以通过查询future的状态(future_status)来获取异…...

Vue项目创建

一.Axios简介 1、Axios是什么? Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。可以应用于浏览器端和node.js,既可以用于客户端,也可以用于node.js编写的服务端 安装使用 1.下载axios npm inst…...