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

作为一个毕业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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入分析Volatile的实现原理

2019独角兽企业重金招聘Python工程师标准>>> 术语英文单词 描述 共享变量在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量,静态变量和数组元素。他们都被存放在堆内存中,Volatile只作用于共享变量。内存屏障Memor…

Serilog 最佳实践

Serilog 最佳实践概述Serilog[1]是 Microsoft .NET 的结构化日志记录库,并已成为Checkout.com 上NET 的首选日志记录库。它支持各种日志记录目的地(称为接收器[2])包从标准控制台和基于文件的接收器到日志服务,如 Datadog。本指南…

世界上迄今为止最安全的加密算法

全世界只有3.14 % 的人关注了青少年数学之旅一个只能用算力来破解的加密算法1人类的加密史公元前5世纪,古希腊人使用一根叫scytale的棍子来传递加密信息。要加密时,先绕棍子卷一张纸条,把信息沿棒水平方向写,写一个字旋转一下&…

手把手教你java快速过滤关键词

java过滤关键词 敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程…

[Delphi]根据输入日期按年月周日输出日期段

输入变量ADateStart,并为其填写起始日期,变量ADateEnd,计算类型AType,输出变量ADateStart,变量ADateEnd procedureFormatDateByType(AType:Integer; varADateStart, ADateEnd: TDate); var//type0日 1周 2月 3年 …

TIOBE 发布 8 月编程语言榜单:C# 排名如何?

刚刚 TIOBE 官方最新发布了 8 月的编程语言榜单,一起来看本月榜单中有什么值得关注的发展趋势吧?每一种编程语言的兴起从来都离不开它所适用的技术领域,二者之间一直以来都是水涨船高的关系。数据挖掘和人工智能的蓬勃发展也是如此&#xff0…

两年了,你还是那个你 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅(图源都市音酱,侵权删)

k8s入门你至少需要会哪些

前言相信很多公司都有集成发布pass系统,底层大多数依赖于k8s来进行服务的发布部署/回滚等功能。对于很多业务开发者都是不可见的,在感叹这个东西真好用的同时,想着探一探这背后的原理。今天这篇k8s入门我整理了必会的几个k8s知识点&#xff0…

Windows CE的电源管理之三

本篇将以Windows Mobile为例介绍Windows CE电源管理的实现,大体上,Windows Mobile分为Pocket PC和Smartphone两种版本。这两者之间的主要区别在于触摸屏和电源模型,Smartphone采用的是“Always On”模型。为了说清楚它们的区别,我…

跟你们讲一个鬼故事,TA回来了!

全世界只有3.14 % 的人关注了青少年数学之旅真正决定人与人之间的差距的,其实是我们对事物的见识与内心的格局,见识的深浅决定人生的深浅,格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号,希望能够给…

java之static关键词的作用

static关键词的作用 1、静态成员变量的语法特定 2、静态函数的语法特定 3、静态代码块的语法特定 定义静态成员变量 Person.java class Person{ static int a; }按照以前可以这么调用 public class Test1{ public static void main(String[] args){ Person person new Per…

分布式事务最终一致性-CAP框架轻松搞定

前言对于分布式事务,常用的解决方案根据一致性的程度可以进行如下划分:强一致性(2PC、3PC):数据库层面的实现,通过锁定资源,牺牲可用性,保证数据的强一致性,效率相对比较低。弱一致性(TCC)&…

Cus系统beta1.2发布

2019独角兽企业重金招聘Python工程师标准>>> 经过小伙伴的努力,Cus后台管理系统开发完成,完善了后台系统,权限控制,新闻发布,商务合作等等功能 主要功能包括: 后台系统截图 更多后台系统截图请点…

区区6位密码,凭什么守护我的百万家产?

全世界只有3.14 % 的人关注了青少年数学之旅今天超模君非常的开心你问为什么?当然是——又双叒可以买新的数学书好开心!不过在这欢快的气氛中超模君却听见了小天的叹气声玩笑归玩笑但是银行的密码系统真很安全的吗?今天我们就来讨论下密码学的…

Java开发之上班摸鱼!写最少的代码!

I 前言 本次分享一下我所知道的如何写最少的代码的小技巧,如果你有更好的方案,欢迎在评论区留言,方案很棒的话,加我交流圈,为你送上冬天的一杯奶茶~ Java:我想返回多个返回值 秀一下Go的多返回值&#xf…

Windows 11 预览版 Build 22000.120 发布

微软现已发布第五个 Windows 11 预览版更新 KB5005188,版本号升级至 Build 22000.120。本次更新面向 Dev 频道和 Beta 频道的 Windows 预览体验成员推出。Windows 11 Insider Preview Build 22000.120 主要变化如下:1.全新的 Family Safety(家…

robocopy帮助

一 Robocopy简介 Robocopy 是一个功能超强的32位的文件复制工具,该工具来自windows资源包,可以直接在网上下载。 使用Robocopy你能够拷贝单个目录,或迭代的拷贝目录及其所有的子目录。该工具通过文件是否存在于源目录,目标目录&am…

有趣的灵魂连墓碑都很酷! | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅(图源别是个沙雕吧,侵权删)

实施Exchange 2013中的 MailTip

实施Exchange 2013中的 MailTip邮件提示是用户撰写邮件时向其显示的提示性消息。Microsoft Exchange Server 2013 将分析邮件(包括向其发送了邮件的收件人的列表),如果检测到潜在问题,它将使用邮件提示在邮件发送之前通知用户。借…

防弹玻璃为啥会被钢球砸碎?这就是一道高中物理题!

全世界只有3.14 % 的人关注了青少年数学之旅马斯克,硅谷钢铁侠,全世界最具煽动力的企业家。旗下公司特斯拉最新电动皮卡,一经亮相就欢呼一片,传播到炸,看起来又要重新定义一个品类。然而也有网友“提醒”——如今的马斯…