我是2018年9月初开始接触工作机会和视频面试,9月10日也就是马云老师在教师节宣布即将卸任的那天,我接到了电话邀请我去杭州终面,当时我乐的屁颠屁颠的,觉得啊这都是缘分啊。面试很顺利,给了P7+,也有股票,后面的体检和背景调查都很顺利,为了体验双11,我国庆后回来就辞职,然后无缝衔接的搬家去了杭州,住进公司统一安排的维也纳酒店,火速入职加入了双11战役,看着西溪园区的灯火通明,觉得自己激情澎湃。
双11熬了几天夜,开始复盘,开始调整,开始每周六给老板写7K字+的部门周报。开始拥抱变化。面试时候的工作内容都打翻,每天要做的是毕业1年就可以做的重复后台操作,以及给上司写三大战役五大策略8大模块的各种歌功颂德,但是转眼就推翻不会去执行的PPT。
部门氛围很学生会,吹胡子瞪眼,拍桌子当面吵,好好话绝对不好好说。我瞠目结舌,上司说你很快就会习惯,这是阿里味儿。工作强度真的很大,11点下班很正常,周末随时待命开会和被钉钉夺命call也很正常,每个月遇到大促上线预热和正式上线要在作战室夜里2点下班也很正常。996算什么?我们笑称自己是007。随时待命,一周七天。绩效考核,3.25,KPI 也确实如同一座大山一样压着,你要推进的任何项目,产品经理和后续合作部门都会问你,你这个能给我带来什么KPI ?去拉个数据证明一下吧。不然我排期也会给你排到几个月后。
一位老阿里说真没错,大家都需要做提高自己KPI的工作,王道。公司价值观 首当其冲是 拥抱变化 vs 客户第一;拥抱变化暂且不说,我的上司要求我推进的策略和客户政策里,我丝毫没觉得客户第一,甚至有LZ风险的隐患,导致我觉得步步是坑。可上司也没办法,他要往上走,就要做那些在内部看起来很高瞻远瞩,可以突破格局,动则有公关稿件定调的项目,可以邮件群发战报给所有人,感谢@ 一圈儿领导和兄弟部门的那种项目。至于是否可以给商家带来真实利润,他来不及考虑。
作为一个30+的职场老人,综上所述,在转正那天,放弃了转正提出了离职。因为,虽然我知道来这里会做一个螺丝钉,但是不想做一个不合尺寸,逼着自己磨合的螺丝钉。3个月,成为了我职场最短的一次体验;也成就了我人生第一次裸辞。
阿里没有错,阿里的文化和价值观,驱使了那么几万人的大经济体,高效的滚动,创造价值,推进了太多值得中国人骄傲的生活方式和支付体验。我也非常佩服,那些有能力有毅力有耐力,本身就非常优秀的牛人大佬和青年才俊,还依然在高压环境下坚持造梦。当然,大公司有的毛病,阿里全都有,而且还挺严重。人浮于事,勾心斗角,该有的也都有。
阿里做的最好的应该是公关吧,集团公关部全员3.75才对。拍手~~ 选择离开,只是不适合我。朋友开玩笑说:我没有贯彻【拥抱变化】的价值观,只能选择做【拥抱平庸】的逃兵。毕竟阿里曾经是我特别向往的乌托邦,现在去了,发现不适合自己,是真的很失落。离开一个多月了,依然觉得惋惜,可惜自己是个不适合阿里的人,也责怪过自己是不是应该再坚持坚持,毕竟是自己曾经的梦想。别骂我,真的是觉得可惜的,有一种跟梦中情人结婚了,然后闪离的感觉。哈哈哈哈。
当然,如果时光倒流,再来一次,我还是会接offer。因为我始终认为,阿里是个伟大的公司。
每个程序员都有一个大厂梦,虽然我从阿里离职了,但是我还是想帮助各位程序员兄弟离自己的大厂梦更近一点,所以我把我在阿里所了解的面试问题,分享给大家,希望大家看完之后都能离自己的大厂梦更近,甚至完成自己的大厂梦!
第一面
1. 说说ArrayList,LinkedList的差别是什么?
2. 链表既然查询性能不足,在保持链表的基本特性的基础上,有没有办法改造下链表它的查询速度?
3. 快排、堆排和归并都是O(nlog n)的算法,为何JDK选择快速排序?
4. HashMap是线程安全的吗?如果不安全可能造成什么问题?
5. HashTable是线程安全的吗?是如何实现的?
6. 常用并发包下的类
7. redis持久化方式,为什么这么快?
8. Redis为什么这么快?
9. 介绍自己比较熟悉的项目和项目中遇到的难点
第2面
1. jvm类加载机制,分别每一步做了什么工作?
2. JVM运行时数据区包括哪些部分,垃圾收集有哪些算法,各自的特点?如何确定被清除的对象?
3. JVM中的垃圾回收器有哪些?区别是什么?
4. Mysql索引类型和区别?聚簇索引和非聚簇索引的区别?
5. 事务的隔离级别
6. Spring Bean创建过程中的用到了哪些设计模式?
7. 谈谈IOC和AOP
8. 概述下spring中bean的生命周期
9. 从源码的角度,描述一下SpringMvc的整个访问或者调用流程。
10. 谈谈线程池的参数列表和拒绝策略
11. 请概述AQS
第3面
1. 请概述下JDK1.8中的ConcurrentHashMap。
2. 为什么kafka这么快
3. 什么是零拷贝?
4. 假设有12G 的可用内存,有个 72G 的文件(文本文件,每一行都是一个独立的字符串),请读取文件里的内容,并将字符串按行排序,然后将排序后的结果保存到另一个文件里?
5. http和https协议区别,Https具体原理
6. 项目内存或者cpu占用率过高如何排查
7. mysql中死锁是怎么回事?怎么解决或者避免?
8. 文档中的单词查找功能你会如何实现?
9. 请设计一个高可用,高伸缩的缓存系统。
10. 谈谈zk里的投票机制。
11. dubbo协议为什么采用异步单一长连接?
12. 对于dubbo和springcloud,给出二者的优缺点,描述服务降级与服务熔断,二者之间的区别以及使用的场合。
4面
13. 手画自己项目的架构图,并且针对架构和中间件提问.
说了这么多,下面进入主题,我给大家整理了大概200道面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。是免费分享给大家了。
大厂真题部分
1000道 互联网大厂Java工程师面试题
1000道 互联网大厂Java工程师面试题
由于文章的篇幅限制,我只能在这里给大家粗略的展示一下