30岁码农的面试复盘

前言

    这次真的要开始面试了,没想到辛苦了一年,年终绩效被打了C,意味着年终奖要对半打折了,其实在8月份开始就时不时会想着出去面试,因为那时候正好在做现网维优,感觉压力很大,基本24小时响应问题处理,PL又给了很大的压力,每个月995,每个月到手工资才七八,已经工作七年了,在杭州这个工资真的低的可怜,那时候就时不时考虑要跳槽,但是在公司已经五年了,薪资没怎么涨过,技能也没涨过,五年前那时候刚工作两年,能在国企税前拿到20W左右的年薪,感觉还不错,那时候还965,每天又不忙,可不想就此开始了五年的蛰伏期,温水煮青蛙一样的,煮掉了激情和热情,工作安安稳稳,技术上又没突破,终于在今年想要跳槽的想法特别强烈,但是看着自己这几年都是在单体项目里长期做着CRUD码农的生活,出去面试没有自信,分布式,微服务,高并发相关的经验和知识储备少的可怜。在小兄弟的鼓励下,终于鼓起勇气说出去面试下,小兄弟给内推了阿里,于是顶着七年工作经验的简历开始了面试,也开始了一路被按在地板上摩擦的经历,面过一次阿里,一次菜鸟,两次头条,一次涂鸦,努力了两三个月,最后终于在涂鸦上车,拿到一个自己还算满意的薪资,在涂鸦上车也是感觉自己运气不错,发挥的好,其实自己跟岗位上还有很多能力上不匹配,长路漫漫,唯有奋斗,保持持续学习,希望能在涂鸦有个好的表现,有个好的绩效,发个文章记录自己这一次的面试经历,多年之后回头看看,希望自己没有荒废过。

一、阿里智能供应链-测试开发工程师:二面挂

二、头条-电商物流中台开发工程师:一面挂

三、头条-企业应用资深开发工程师:一面挂

四、菜鸟:二面挂

五、涂鸦智能-SAAS开发工程师:四面过


面试题汇总:

1、阿里智能供应链-测试开发工程师

一面(过)

业务

1. 支付订购模块有并发问题吗?怎么解决的,怎么做资金风险的防控?

2. 形成自有的能力层问题闭环能力,这个是怎么实现的?

3. 在工单关闭方面,做了哪些提效的工作吗?

4. 降级方案读缓存会有我们问题吗?平时为什么不可以用缓存支持?

技术

1. redis,oscache,memcache的区别,优缺点,为什么同时使用3个缓存框架?

2. 缓存击穿和缓存雪崩的解决方案,怎么解决热点商品的缓存问题

3. ThreadLocal和Synchronized的区别

4. jvm:程序什么情况下会出现OutOfMemory情况?

5. 数据库varchar和char的区别,乐观锁和悲观锁的区别?

6. http:403,405,500一般是因为什么引起的?

7. 网络攻击有哪几种,怎么预防?


二面(挂)

阿里的二面一般都是P8面,一般会考验对业务架构和逻辑的理解,考察在团队贡献度,考察自主学习能力和视野,技术热情等软实力方面

1.理解常见的测试流程吗?常见的软件测试方法知道吗?

2.平常是怎么管理团队的,你觉得在管理团队方面有什么需要注意的吗?

3.理解的mock技术吗?

4.最近业内比较火的云原生,知道吗?

总结:面的是测试开发岗,一面和二面其实都是通过,只是走到三面的P9大佬的时候,P9大佬看我的简历没有测试经验,一票否决就挂了,没有遗憾,三面应该也是过不了的。



2、字节跳动-电商物流中台

一面(挂):

业务

1.一般都是结合你的项目经历,问一些你的实现逻辑,问你的项目架构,用到了什么技术,自己有什么好的设计,自己有什么创新的地方,考察对项目的理解和自我的积累,从侧面反向思考能力和技术深度

技术

1.什么是RPC?

2.什么是双亲委派机制?怎么破坏双亲委派机制

3.线程池的原理

4.交易项目中用到了分布式事务吗,你们是怎么控制分布式事务的?

5.redis RDB和AOF的区别和使用场景

6.innodb和MyIsam区别,优缺点,使用场景,数据库的各种锁

7.HashMap的底层实现原理

8.讲一下你知道的垃圾回收算法

9.栈和堆的是怎么实现的?

10.算法题:在n个无序数组,输出最小的k个数,求最优解

总结:分布式事务我回答不知道,面试官有点不满意,后来我复盘的时候,发现项目中还是真是没用到,只用了2PC的一些基本概念,破坏双亲委派机制没回答上来,数据库锁没回答好,索引原理方面也理解不深入,RPC框架dubbo里的分层结构不清晰,后来恶补了mysql的相关知识和RPC里dubbo和springcloud netflix的一些知识点,面试暴露自己问题,然后去补齐短板很重要!



3.菜鸟网络

一面(过):

业务:

1.面试讨论都是先自我介绍,介绍完了之后就问业务细节点,考察用到业务中的技术深度,为什么要采用这种技术选型,原理是什么,有什么别的替代方案

2.HashMap的底层实现原理,1.7和1.8有什么区别,为什么是线程不安全的。

3.concurrentHashMp的底层实现原理,线程安全的原理,是如何扩容的,如果叫你设计一个concurrentHashMap,你会如何考虑设计

4.Synchronized和reentrantlock的区别,Synchronized的使用方式,在不同场景控制并发的原理

5.讲一下你工作接触到的reentrantlock的应用

6.什么是公平锁,什么是非公平锁,公平锁是怎么实现的

7.讲一下BIO和NIO的区别

8.innodb和MyIsam区别,讲一下mysql的索引原理,演变过程,为什么要使用B+tree

9.算法题:在一个无序数组里有全中国人的年收入,求中位数,要求时间复杂度最优

总结:面的还不错,基本问题都回答上来,只有hashMap为什么线程不安全和concurrentHashMap从0设计未回答上来,HashMap后来复盘的时候去看了下,果然在涂鸦就面到了,复盘很重要!复盘很重要!复盘很重要!


二面(挂):

1.你在团队里担任什么角色,主要是负责哪块,你的KPI是什么?你最近的考核还可以吗?里面会穿擦着问很多细节问题,反映出在团队里的定位,从而判定出个人能力。

2.你掌握的比较好的知识点是哪块?问了两个问题,Synchronized关键字在static方法里是互斥锁的原理,线程池队列满了之后处理后续线程有哪几种处理方式

3.你有没有输出什么知识文档?

3.你最近在看什么技术?你觉得最近对你影响比较大书是哪本?

总结:面试官看我的主要负责的业务层面有限,跟工作年龄不匹配,问了两个基础问题,回答的不够细致,比较模糊,最近看的技术,我回答了《springCloudAlibaba从入门到实战.pdf》,面试官看够这种工作年限还在看微服务的,技术深度不够,平常也不注重积累,没有技术博客输出的习惯,达不到预期,就挂了。



4、涂鸦智能-saas方向

一面(过):

电话面试,猎头通知我,不用电话了,直接现场


二面现场面(过):

1.自我介绍,讲解一些业务里的相关的知识,之前已经讲过很多次业务介绍,有点开始无脑输出了,然后问一些业务问题和技术要点

2.HashMap的原理,HashMap为什么说是线程不安全的?concurrentHashMap在扩容的时候有并发的put操作,内存的实现逻辑是怎么样?

3.redis的清理策略和内存淘汰策略,redis的具体的内存结构,redis的put操作内存是怎么实现,为什么redis会快?

4.讲一下类的加载逻辑?

5.cms和G1的垃圾回收机制有什么区别

6.知道锁吗?偏向锁,轻量级锁,重量级锁是什么意思?是怎么升级?

7.Synchronized的原理,与reentrantlock的区别在哪里,reentrantlock的底层实现逻辑是怎么样的?

8.mysql的慢SQL,是怎么解决的?有哪些可能性会导致慢SQL,对用有什么解决的方法

9.B+tree的原理,B+tree的查找的时间复杂度的多少?具体是怎么查找的,聚集索引和非聚集索引有什么区别?

10.innodb有哪些锁?innodb是怎么解决幻读的?

三面现场面(过):

二面过了之后等了十分钟,来了个大佬,拿了一张白纸,

1.来画下你们的整体架构图,讲解下整体的架构逻辑,你提到的很多不同的支付方式,支付逻辑是怎么区分开的?

2.交易里面有涉及到分布式事务吗?你们是怎么控制分布式事务的?

3.缓存击穿的场景?你们是怎么解决的,有哪几种解决方案,有什么缺陷?

4.查询的时候有三种查询条件,怎么建索引,查ABC,查BC,查AC,索引应该怎么建,BC的搜索的时间复杂度是多少?

5.你们这个支付场景这么复杂,你觉得有什么好的优化的方案


四面HR(过):

四面是HRG面试,涂鸦由于创始人是阿里云出来,企业文化里难免夹杂着阿里文化,不清楚HRG是什么含义跟HR有什么区别,后来去搜了下HRG原来是阿里的政委文化,HRG里的G代表的多面手的意思,HRG的主要工作就是“闻味道、摸温度、照镜子、揪头发”,所以HR面不仅仅是跟你聊工资,还是闻味道,看看你身上的味道和企业文化是否符合,HRG就聊了现在的薪资结构,为什么要离职,什么时候有离职的想法,在项目组里主要承担的角色,期望的薪资,在聊天过程中,HRG会多方面考察你的表情,看你是否体现的自信,后来通过猎头得知,HRG对我有两点担忧,1、之前在国企多年,能否适应物联网公司的强度,2、表现的过于严肃,没有互联网公司的扁平化管理的下员工体现出的活跃氛围。我觉得不用担忧,毕竟还算年轻,应该不算问题。

总结:二面现场面回答的还不错,都回答上来,还延伸出来提了一点自己的看法,面试官还是比较满意,三面的面试官比较有经验,分布式事务深入的理解没回答好,缓存击穿提了几种方案,面试官都不太满意,有性能问题,优化支付场景的这个回答,面试官也不太满意,我感觉没面好,后面二面还是过了。



总结:

这次面试还是比较辛苦,平常工作忙,经常会忘了刷题,或者学习,第一次面试跟后面的几次面试时间拉的很长,这次面试的最深的印象还是自己的能力水平与市场的平均水平还是有差距的,大厂的面试基本到不了第三面,无论从深度或者广度来说,都远远达不到大厂的要求,随着年纪越来越大,这种焦虑感越来越重,在公司的这几年,太过安逸,接触的项目和技术都过于陈旧,自己也缺乏长期学习和职业生涯的规划,熬制自己的能力有点差,后面要迎头赶上之前欠下的债务,好好提升自己,保持持续学习,每天要保持一个小时学习的时长。

你可能感兴趣的:(30岁码农的面试复盘)