前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....

程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....

原创
作者头像
Java架构技术
修改2019-05-29 18:18:05
4420
修改2019-05-29 18:18:05
举报

作为一个毕业2年的coder, 最近一直在寻找一个合适的机会能够换一个环境,一是寻找一个更加宽阔的舞台不断的提升自己,二是让自己走出现在的舒适区域,迎接更多的挑战和认识更多的人。当然还有为了获得更加好的一份收入。

这一个月,我投递了4个公司,分别为华为,头条,招银网络科技和蚂蚁金服。头条笔试完就没回信(讲真,作为一个上班族,压根没有刷过算法题,真心不会做,还是自己太菜逼,以后有时间还是定期的了解下算法,算是扩展自己的思路)。比较幸运的是,其余3家都拿到了对应的offer, 后面也暂时不去面试了,等待最终的选择,是留在现在的岗位还是出去看看。

下面记录下面试的经验,一方面用作后期自己回顾知识点,另一方便给正要面试的人一些经验。

华为面试

一面

项目介绍

spring的了解

微服务拆分依据

微服务比较传统应用,单一应用的优点

分布式调度系统的性能,支持最大客户端

分布式调度项目中,client 和 server的通信方式

线程安全的理解

微服务应该监控哪些指标

ai用到了哪些算法

SPRING ioc用到了哪些设计模式

项目架构

单利模式的实现

ps: 单例模式很基础,很重要,里面可能会涉及单例安全,如反序列化可能会破坏单例,然后可以问到类的安全加载等深入知识

哪些地方可能出现oom

需要了解在每个区域出现oom的例子,最好自己能写出来

二面

华为的二面是技术leader面试的。 由于当时没有即时的记录下面试记录,所以有点忘记了。不过技术leader的面试主要是围绕做过的项目,问一些项目的细节。然后会问下自己的意向,工作态度之类的(毕竟华为的加班在业界是比较出名的)

HR面

HR面试的话主要是考擦职业规划,对工作的态度,原有职位的一些情况。 感觉HR还是不错,平易近人,面试的过程比较轻松

总的来说,华为的面试偏向基础。没有太多的问及到底层的架构。

招银科技面试

招商银行也是先笔试,然后是面试。

招商银行的面试可以说是也是4轮,不过比较好的是4个面试官一起,一次性把所有的问题问完,我觉得这样很好,非常高效。 不用每轮面试都介绍一下项目。

项目介绍

项目中缓存的设计

缓存击穿

缓存雪崩

分布式调度系统如何调度?第一轮调度任务没有处理完就第二轮调度时间到来的处理方式?

缓存的数据有哪些?key的设计原则

HashMap数据结构

spring ioc

mysql死锁

然后就是hr询问一些常规的问题,如工作意向,期望薪资之类的。

蚂蚁金服面试

一面

项目介绍

项目中如何保证数据一致性的

存在的问题

jvm 内存

程序计数器的作用

gc 算法, 垃圾收集器

spring事务,事务实现的机制,如何保证事务的

悲观锁,乐观锁

HashMap

红黑树,B+树

数据库死锁,如何防止死锁

二面

二面开始于5道题目,整体感觉还是比较难的。面试的前一天给我发的题目,然后晚上下班后(9点左右)我做了5个小时才完成吧。 第二天面试的时候,主要围绕题目进行展开和发散。

从第一个题目延伸出(转账):

分布式事务的保证。具体的解决方案;

接口的幂等性;

如果向某个账户转账在高并发环境下,设计的接口有什么问题(数据库瓶颈)

如何解决上述的问题

如果账户表很大,具有亿万级别,如何提高查询效率(分库分表)

分库分表具体操作,什么时候分库,什么时候分表,各个使用场景

mysql主从

mysql如何保证主从的数据一致性

数据库的容灾

第二个题目: 抢红包

抢红包的实现方案;(我给出的解决方案是存下抢红包的操作,然后乐观锁更新金额,保证数据的最终一致性)

有没有优化空间;

春晚红包方案(包括限流,网络瞬间抖动,数据一致性)这一点聊了很久。。。

对分布式的看法

开源中间件熟悉哪些?(只是做简单了解)

三面

个人项目介绍

读书时候的经历? 介绍读书时候的项目(这个也太不按照常理出牌了,读书时候发表的论文,基本忘记了呀!!好吧,只能想到啥随便说点吧)

项目一(支付营销系统)的具体介绍, 架构,项目中某个操作的具体流程图,如何压测? 性能优化? 项目中机器的台数,机器扩容标准? 线程池大小?线程数设置标准?

平时用到了哪些集合?hashmap的问题?cpu 100%出现的情况(我从来没遇到过,看过资料其中有一点,让我说说其他情况, 懵逼)?Treeset的实现?

分布式事务,秒杀系统的要求?秒杀系统的设计原则?注意事项?项目中遇到的问题?解决放肆?

项目二(分布式调度系统)的具体情况,架构?中间某些步骤的具体的设计思路。(这个挖的很深,而且面试官确实很厉害,几分钟能够了解你整个项目的大致情况,知道你设计的痛点,然后咨询你如何解决的)

kafka消息可靠性保证?其他中间件有没有了解过?平时阅读什么技术?

正常的问我有什么问题,介绍了下具体的部门信息,然后就通知让等hr电话。

HR面试

HR面试主要是问了过往的经历,包括大学,研究生和所做的项目。然后就是个人的职业规划,就职意向等。

个人总结

通过这4家企业的应聘,发现自己很多的不足。 比如头条注重的算法,解决一个实际的问题还是比较欠缺,另外还有就是自己的思路不够开阔,看待问题不够深入,比如HashMap出现100%CPU的情况以及原因。我觉得对于知识来源,如果能够从自己的项目中获取,那么印象是比较深刻的,比如我曾经遇到过的数据库死锁,堆内存溢出等问题,因此对这块的面试来说,应该算是可以勉强的应付。但是项目中的坑总是有限的,那么就得自己去不断的学习、总结。

Choose

最后根据自己的职业规划,选择了蚂蚁, 下一站,加油。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档