从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,现在也32了,早就不能算纯粹的技术程序员了,有些事实不得不看清。
从知乎看到今天这篇文章,笔者咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。
35岁的真相一个朋友,前阿里人,37岁,离职后就职美团,今年想跳槽。
投的是技术岗的简历,因为有大厂经验,以前投一个面一个,今年,投十个,能有两个面试机会就不错了,最后索性又回了阿里,做了个技术专家,主要做架构。
他在面试的时候,也经常被出各种幺蛾子,碰见比自己大的面试官,态度和善,一般面试都能过。而如果碰到比自己小很多的面试官,能给你从天上问到地下,好像在说,就这?你也能不会?
我老婆的说法:凡管理人员,都讲究气场。他跟你能不能和得来,年龄是硬伤。除非有些大厂专门有架构师的岗位,你不写业务代码,他也不负责管理你,就无所谓。但凡你要在他手下干活,年龄又相差较大的话,他一般是不会要的,根本原因就是怕管不住。HR推来的人,不好直接推脱,总得找点理由,这时候就会出现面试不按常理出牌的情况。
另外几个朋友,都走的技术管理岗,也35、6了,有的在网易,有的在滴滴。据他们的话说,到了这个年纪,就不要想着跳了,找一家合拍的公司好好干吧,自己混个高点的职位,出去好要价,高不成低不就的,同样没人要。
同样以某为裁员为例,你真的以为裁员裁的是年龄大、股票多的那些人?
当然毕业后同学朋友在华为的也有几个,据他们的说法:人家裁的都是工作十来年,考评普通职级一般,收入和股票都偏低的一群人。也就是:这部分人的工作具有可替代性。
华为裁员是为了优化结构,不是为了断臂求生。核心员工,不仅不可能被裁,而且会被重点关照,停止流失!!!
所以,裁员裁的是这三类人:
- 拿着远超三个应届毕业生的工资,但是能力最多顶一个
- 老油条,干活一般般,但是油油的
- 只会写代码,职业素养和情商一般般
总的来讲,就是性价比低、不可替代性弱的同学们。淘汰的就是这些。
但真正能有几个人的工作具有不可替低性,现在在敲代码的我们,终归逃不过被挑选的命运?
我们应该怎么办?
混圈子、混人脉、靠内推
你知道六人定律吗?就是说想认识世界上的任何一个人,最多通过六个人的桥接就可以认识!!这就是圈子和人脉的重要性,你有同学、朋友、同事,他们任何一个人进了大公司,都可以内推你,而且在内推时,是可以直接跳过HR,直接把简历给他们主管的。
凡做过主管的都会有经验,不看僧面看佛面,也会给你个面试机会,会让你过来聊聊,不然,他没办法给内推你的人交待!所以,跟同学、朋友、同事处好关系,用得着!
靠猎头
如果目前你还没有那些人脉,没关系,也有方案,去找猎头,猎头很好找,简历发到猎聘网,就会有猎头找你了。
虽然猎头会跟很多大公司有合作关系,也自然能把你的简历推到大公司里,但这里有两点关键条件:
- 需要走正规流程,先经对应公司HR筛选,再到部门主管,无跳级
- 可能猎头看不看得上你,主要看个人简历内容,即个人实力,所以这部分还得靠自己,如何靠自己,看第三点
靠自己
其实无论走什么捷径进入面试环节,在面试时除了自己,谁也帮不了你,所以,如何把自己能力提升是非常非常重要的部分。
另外,需要注意的是,在自己学习时,要有方向,一方面要提升名气,使简历发光,一方面深入学习,要有真本事。1、提升名气、使简历发光这部分仍然是为了能顺利进入面试做的,提升自己在行业中的名气,计算机中有三个途径能提升自己的行业名气。
(1)、Github提交MergeRequest,自造轮子在所有的技术面试环节,github所提交的开源项目,是一个非常能展示实力的存在,只要你在简历上写了gitHub地址,所有的技术面试官和简历筛选官,都会去看你的代码,直接看你的技术实力。
而且它的流行程度及star量,能提升你的行业影响力,在简历上是一个非常闪光的存在。如果恰巧,他们的项目中有你的开源组件,那恭喜你,这次基本上过了。
如果你的开源组件非常流行,那恭喜你,等着大公司来私信你吧。你将会被争抢,此时,谁还会再关心你的学历?
写博客、写书
坚持写博客,当他们经常能搜到你的博客时,就会公认你的影响力和技术实力,在计算机领域,很多人都是靠博客起来的,比如鸿洋、郭霖等等,包括我。
你以为,他们一上来就能让出版社约稿?都是持续产出博客,博客关注者多了,出版社觉得你写得好,才会主动找你,邀请你写书的。写博客、写书能使你在行业有一定的地位,当他们在简历上看到你的名字时候,就会油然产生一种大牛的感觉,还在在意你的学历?
我就是写博客、写书的受益者,在我面试VIVO时,表现的并不好,因为我创业一年,很多知识从来没复习过,很多知识都遗忘了,还没来得及复习,就让我去面试了。
他们原以为,我是一个特别厉害的人物,安排三个技术专家同时面,结果,一问三不知。不过,最后,还是给了我OFFER。因为他们公认我的能力是足够的,只是时间过了太久,有所遗忘,拾起来就好了。相反,如果没有这个行业影响力,那这次铁定是挂了。
最根本:深入学习,提升能力前面讲了如何提升行业影响的方法,但根本的根本,还是要提升自己的实力,因为在面试时,是要面技术的,所有的外包装都会被揭穿,深入的技术复习只能靠大家自己了。有学弟学妹问我要学习资料,在这里,顺带分享大家我自己整理的资料,我自己入门、进阶,乃至最后晋升,都是跟着这里面学的,都是自己需要学到某个方向知识的时候,去网上买的,最后汇总而成。
我整理的这些资料大家可以在这里获取,对于学习python的同学帮助非常大,而且十分系统。
本文涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的 Java 面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。
与此同时,今年算法面试一定是会被问的,而算法不是光靠背面试题就有用的,它是需要数学逻辑思维的,因此,小编会在文末为大家准备一份非常优质的算法学习手册,重点在于学习思维方法,话不多说,直接开始上精选的大厂面试真题!
由于文章篇幅限制,不可能将所有面试题以文字形式把大厂面试题展示出来,本篇为大家精选了一些面试题,更多 Java 面试题大家可扫描文末二维码免费获取。
Java 基础
1.JAVA 中的几种数据类型是什么,各自占用多少字节。
2.String 类能被继承吗,为什么。
两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
String 属于基础的数据类型吗?
5.Java 中操作字符串都有哪些类?它们之间有什么区别?
6.Java 中 IO 流分为几种?
7.BIO、NIO、AIO 有什么区别?
8.用过哪些 Map 类,都有什么区别,HashMap 时线程安全的吗,并发下使用的 Map 是什么,他们的内部原理分别是什么,比如存储方法,hashcode,扩容,默认容量等。
如何将字符串反转?
10.抽象类必须要有抽象方法吗?
11.普通类和抽象类有哪些区别?
12.抽象类能使用 final 修饰吗?
13.ArrayList 和 LinkedList 有什么区别?
14.ConcurrentHashMap 的数据结构(必考)
15.volatile 作用(必考)
16.Atomic 类如何保证原子性(CAS 操作)(必考)
17.为什么要使用线程池(必考)
Redis
- Redis 的应用场景
- Redis 支持的数据类型(必考)
- zset 跳表的数据结构(必考)
- Redis 的数据过期策略(必考)
- Redis 的 LRU 过期策略的具体实现
- 如何解决 Redis 缓存雪崩,缓存穿透问题
- Redis 的持久化机制(必考)
- Redis 为什么是单线程的?
- 什么是缓存穿透?怎么解决?
- Redis 持久化有几种方式?
- Redis 为什么这么快?(必考)
- Redis 怎么实现分布式锁?
- Redis 如何做内存优化?
- Redis 淘汰策略有哪些?
- Redis 常见的性能问题有哪些?该如何解决?
- Redis 的使用要注意什么?
ZooKeeper
- CAP 定理
- ZAB 协议
- leader 选举算法和流程
- zookeeper 是什么?
- zookeeper 有几种部署模式?
- zookeeper 怎么保证主从节点的状态同步?
Mysql
- 事务的基本要素
- 事务隔离级别(必考)
- 如何解决事务的并发问题(脏读,幻读)(必考)
- MVCC 多版本并发控制(必考)
- binlog,redolog,undolog 都是什么,起什么作用
- InnoDB 的行锁/表锁
- myisam 和 innodb 的区别,什么时候选择 myisam
- 为什么选择 B+树作为索引结构(必考)
- 索引 B+树的叶子节点都可以存哪些东西(必考)
- 查询在什么时候不走(预期中的)索引(必考)
- sql 如何优化
- explain 是如何解析 sql 的
- order by 原理
JVM
- 运行时数据区域(内存模型)(必考)
- 垃圾回收机制(必考)
- 垃圾回收算法(必考)
- Minor GC 和 Full GC 触发条件
- GC 中 Stop the world(STW)
- 各垃圾回收器的特点及区别
- 双亲委派模型
- JDBC 和双亲委派模型关系
- JVM 中一次完整的 GC 流程是什么样子的,对象如何晋升到老年代,说说你知道的几种主要的 JVM 参数
Spring
- Spring 的 IOC/AOP 的实现(必考)
- 动态代理的实现方式(必考)
- Spring 如何解决循环依赖(三级缓存)(必考)
- Spring 的后置处理器
- Spring 的 @Transactional 如何实现的(必考)
- Spring 的事务传播级别
- BeanFactory 和 ApplicationContext 的联系和区别
其他
- 高并发系统的限流如何实现
- 高并发秒杀系统的设计
- 负载均衡如何设计
扫码免费领取:
操作系统篇
- 进程和线程的区别
- 进程同步的几种方式
- 线程间同步的方式
- 什么是缓冲区溢出。有什么危害,其原因是什么
- 进程中有哪几种状态
- 分页和分段有什么区别
最后
面试是跳槽涨薪最直接有效的方式,马上今年的金三银四就要来了,各位做好面试造飞机,工作拧螺丝的准备了吗?