作为一个毕业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的情况以及原因。我觉得对于知识来源,如果能够从自己的项目中获取,那么印象是比较深刻的,比如我曾经遇到过的数据库死锁,堆内存溢出等问题,因此对这块的面试来说,应该算是可以勉强的应付。但是项目中的坑总是有限的,那么就得自己去不断的学习、总结。

(Tips: 有需要平时用来学习的资料的,可以加一下我的群:  756584822就可以了)因此在以后的工作学习中,一定要适当的深入,不断的思考和反思,这样才能够遇到问题时候不至于慌乱。

Choose

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

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

  1. 一位程序员工作10年总结的13个忠告

    一位程序员工作10年总结的13个忠告 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告. 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代 ...

  2. 一位程序员工作10年总结的13个忠告,却让很多人惋惜

    一位程序员工作10年总结的13个忠告,却让很多人惋惜 程序员 21CTO社区 · 2015-10-28 00:00 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告. 走过 ...

  3. 女程序员开淘宝店兼职---详细注册成为淘宝商家步骤

    这里女程序员开淘宝店兼职---详细注册成为淘宝商家步骤写自定义目录标题 在淘宝开店步骤 在淘宝开店步骤 在工作之余开个淘宝店,卖一些山西晋城老家的特产,比如蜂蜜.花椒.粗粮.阳之源陈醋等,增加一些开源 ...

  4. 程序员花式吐槽:月入过万累成狗,还不如富士康技术员!

    在大家的眼中,程序员绝对是个含着金钥匙的职业,工作体面,收入高.科技前沿,让无数人羡慕,前途一片光明.而富士康工厂里面的技术员,则相对来说就没有那么热门了.很多人甚至都会把他们跟那些流水线工人混为一谈 ...

  5. 程序员参加年会,CTO 要求技术部门穿成这样

    每年的年会都是IT互联网圈子的一道亮丽风景.我们在观赏着各大公司年会的新花样时,也在讨论或准备着自己公司的年会.有着浓厚技术氛围的公司如何开一个与众不同的年会? 去年,范品社告诉我们一件有意思的事情( ...

  6. python写篮球游戏_程序员们把“蔡徐坤打篮球”写成了一个游戏

    原标题:程序员们把"蔡徐坤打篮球"写成了一个游戏 github一直是一个人才辈出的地方 从"杨超越杯编程大赛" 到"清华课程笔记" 无数令人 ...

  7. 单片机DPTR(DPH,DPL)和SP特殊寄存器C语言中应用?这三个特殊寄存器对C程序员来说是透明的,不用C程序员操作,编译的时候会自动运用这三个寄存器ACC寄存器和B寄存器也类似

    单片机DPTR(DPH,DPL)和SP特殊寄存器C语言中应用?这三个特殊寄存器对C程序员来说是透明的,不用C程序员操作,编译的时候会自动运用这三个寄存器,ACC寄存器和B寄存器也类似 编译器把C译成指 ...

  8. 程序员英语学习之英文官网查看Kafka(三)

    程序员英语学习之英文官网查看Kafka(三) 1. 背景 作为程序员,由于计算机软件本身历史原因,最新和最全的资料很多都是外网上的英文资料.部分有中文版,但受限于官网或者爱好者精力,并不会很全面和很新 ...

  9. 【很久之前的一篇老文章】一位程序员工作10年总结的13个忠告

    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告. 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的 ...

  10. 面试加分项!程序员工作2年月薪12K,附架构师必备技术详解

    最近看到群里看到一个女生,讲述了她从开始选择Android,经过非常努力的学习和挣扎,然而最后面对当前的环境却不得不放弃.看完以后真的非常替她感觉惋惜,如果早几年入行可能结果会比现在好很多,但可惜,这 ...

最新文章

  1. uwb定位算法c++代码_一指连小米UWB技术发布!手机一指,就能操控
  2. 关于网络连接方式的总结(HostOnly,NAT....)
  3. spring日志报错提醒_使用爬虫框架htmlunit整合springboot出现的一个不兼容问题
  4. React Native 设置RGBA背景色
  5. SAP CRM WebClient UI 某些icon图标不能正常显示X
  6. Eclipse新建web项目正常启动tomcat不报错,但不能访问项目的解决方法
  7. 华为帐号忘记显示服务器繁忙,显示云服务器繁忙怎么操作
  8. ASP.NET Core MVC 源码学习:MVC 启动流程详解
  9. 终端怎么进入hadoop_Ubuntu中使用终端运行Hadoop程序
  10. Javascript选择排序
  11. 企业如何搭建物联卡云平台
  12. 机器学习—XGBoost实战与调参
  13. 过去25年八大计算机病毒:冲击波和震荡波入选
  14. Win10如何使用Win7自带的照片查看器
  15. 速记JVM内存模型和垃圾回收策略
  16. 如何使用Keil5开发MSP430及Tiva系列开发板
  17. c语言语法基础知识,英语语法_英语语法基础知识
  18. WORD排版-目录管理/标题排版
  19. Python 求一元二次方程的根(包括虚根)
  20. python画图颜色填充_【Python】Matplotlib画图(十一)——箱线图

热门文章

  1. Docker最全教程——从理论到实战(五)
  2. Asp.net Core Jenkins Docker 实现一键化部署
  3. ASP.NET Core Razor生成Html静态文件
  4. 使用DDD、事件风暴和Actor来设计反应式系统
  5. DDD理论学习系列(8)-- 应用服务amp;amp;领域服务
  6. OSS.Social微信项目标准库介绍
  7. 云计算设计模式(五)——计算资源整合模式
  8. F#年度调查结果概述
  9. 【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换
  10. C#实现树的双亲表示法