📣 VIP通行证夏日特惠 限时立减$68
查看: 6282| 回复: 19
跳转到指定楼层
上一主题 下一主题
收起左侧

开发岗回国面试涉及框架工具总结

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 yuqinlear 于 2021-9-6 14:50 编辑

不同于美国大厂的面试,国内大小厂必然会问到具体使用的库和框架,我列举一些非常高频的希望帮助大家节省点时间,也希望其他同学能指正和补充。框架的具体知识大家可以进一步百度和谷歌,我也可以稍后抽时间再整理很多细节。

1. 消息中间件:Kafka, RabbitMQ, RocketMQ, Redis
Kafka使用频率很高,要了解如何扩展,然后最喜欢问的其性能优异原因(比如零拷贝);
RocketMQ是阿里开源,国内使用比较普遍,美国不知道哪大厂使用,但其功能有兼顾传统MQ和Kafka的事务和吞吐量,非常强大。面试中经典案例是分布式事务消息等。
RabbitMQ业界经典,对AMQP最好有一定熟悉,面试不强制要求。
Redis由于其可以做轻量的pubsub系统也放在这里,需要知道利弊。

2. 缓存中间件:Redis, Memcached, RockDB;
深入Redis就行了,redis的各种数据结构原理,持久化和集群(sentinel, cluster)。此外,有很高概率延伸到非阻塞非同步IO这一块。Redis可以问得非常细,需要好好掌握。

3. 分布式配置管理(包含一致性管理等): ZooKeeper,etcd,  Consul,Eureka,Dubbo;
这块是CAP理论的集中考点。 考点包括CAP的取舍问题,比如注册中心AP可能更好所以ZK这类CP框架会有争议,push/pull模式的利弊取舍等。这个可能会问的深入来测试你是不是着实有使用经验。
ZooKeeper,CP模型, 非常经典的强一致解决方案,其使用场景可以比较多(配置中心,分布式锁),需要看一下他的集群结构,选主逻辑,和一致性协议Paxos。
etcd,CP模型, 因Go的使用增多和被集成到K8S服务发现变得热门,储存的数据结构上和一致性算法Raft上与ZK大不相同;
Eureka, AP模型,经典的服务注册中心,之前在北美广泛使用;
Redis: 因为这个是储存,一直性需求要在上层自己写,做分布式锁之类,会追问一些比较典型的分布式同步问题;
Dubbo: RPC微服务框架集成服务治理众多功能,阿里系高频;
Consul: 没具体研究,频率不是特别高。

4. 分布式事务:Seata:
国内系统设计必考分布式事务,而其最热门的具体实现则为阿里的Seata框架,可以找一下基于这个框架的案例本地跑一下熟悉一下2/3 phase commit模式中的组件和逻辑流程。同时结合MySQL事务机制和日志系统巩固数据库事务领域的概念。

5. 微服务容错框架: Hytrix, Dubbo;
在服务治理组件中,容错是高频题。其经典框架之一是Hytrix, 通过这个框架了解服务限流,降级,熔断等机制,和其具体实现原理(限流算法,线程池等)。

6. web service框架:Spring
就不说了,老八股文了。可以找github里的总结来学习。

7. Load balancer:Ngnix, LVS
Ngnix主要就是文4层和7层的负载这种
LVS主要就是要熟悉下vip和failover的概念

8. 不常考的框架类别:分表中间件,BFF等。 这些多停留系统设计的概念比如如何分表,BFF的协议(GraphQL等),不怎么问具体使用的库。

此外还有大量其他框架比如做大数据处理(Spark),防火墙,servlet容器(Tomcat)等也有可能考到的具体框架,时间原因我稍后继续深入。
可以观察到的一些特点是阿里系应用的技术栈在国内有指导性意义,同时由于框架的快速更替,以上内容在面试中也在发生替换,我认为熟悉慢半代的框架在面试中普适性最大。
大家觉得有用的话请给一些米。感谢!




补充内容 (2021-09-07 10:11 +8:00):
国内面试中对各中间件,分布式框架和微服务治理的熟悉基本上对还在一线写代码的各个级别都非常重要。即使应届生很多已经开始有实习经验,bootcamp和demo练手,这些会包装在简历里,水涨船高所以也会问。aka卷!系统设计环节往往是要刨根问底直到答不上来的方式测试深度,所以面试者不论级别准备越充分越好。高级别对如何落地及运维也有要求,如果低级别构架方面问得少,那自然java/mysql八股文就问得多。
所谓面试造火箭,入职拧螺丝也不尽然,国内一二线大厂很多高并发场景,大家也都想去这些核心领域。而这些典型框架在国内使用的一致性很高,掌握就很通用。我也觉得工程应用中通过熟悉一个框架并深入学习其原理更容易建立成体系的认知。

评分

参与人数 17大米 +38 收起 理由
isildur3 + 1 赞一个
ggsddup + 1 赞一个
zachzwy + 1 赞一个
csushin1992 + 2 欢迎分享你知道的情况,会给更多积分奖励!
whdawn + 6

查看全部评分


上一篇:国内苹果Verbal offer到正式offer需要多久
下一篇:收到摩尔线程offer,想请教大家国内半导体公司行情如何
全局:
一个不会,TC 400k+,yoe 4

评分

参与人数 3大米 +6 收起 理由
awe123343 + 3 给你点个赞!
yeetatbig4 + 2 exactly, 这是要招1个人干40个人的活儿么
guaguagou + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
一个不会,还想要match美国工资,难怪国内面试官看不上我们这些臭海龟的。🥲
回复

使用道具 举报

推荐
lch04 2021-9-7 11:43:13 | 只看该作者
全局:
靠, 3 phase commit如果工作中有用算我输
回复

使用道具 举报

全局:
Mark一下
回复

使用道具 举报

全局:
这是面ng的嘛
回复

使用道具 举报

🔗
yeetatbig4 2021-9-7 06:41:17 | 只看该作者
全局:
paopaojeffrey 发表于 2021-9-6 16:08
一个不会,TC 400k+,yoe 4
exactly, 这是要招1个人干40个人的活儿么
回复

使用道具 举报

全局:
很准确,我在国内校招的时候除了第四个都被问到过。
回复

使用道具 举报

🔗
zys87126 2021-9-7 11:24:05 | 只看该作者
全局:
如果实际工作中没有用过这些,光靠八股文是很容易露陷的吧
回复

使用道具 举报

🔗
 楼主| yuqinlear 2021-9-7 11:59:57 | 只看该作者
全局:
zys87126 发表于 2021-9-6 23:24
如果实际工作中没有用过这些,光靠八股文是很容易露陷的吧

面试主要还是考察原理为主,用过当然帮助你理解原理,没用过可以做以下功课;
1. 个人的项目练手使用,找相应教程;
2. 在公司的生产环境“接触”过,比如调用过其客户端,但是你能主动学习覆盖其整个框架;
3. 你所在公司总有相应的解决方案吧,那过度到你使用框架一般也没有问题。没有使用就主动去翻公司文档,尽量在dev环境能跑跑案例,能说个一二三。此外,能够对比对方熟悉的解决方案和自己项目采纳解决方案的tradeoffs在系统设计面试中非常加分。
最后,面试管也不一定都用过,更不一定都专,很多还是靠准备和积累面试问题形成的知识体系。
回复

使用道具 举报

🔗
halolk1 2021-9-7 13:20:38 | 只看该作者
全局:
完了,一个都答不上来,感觉自己这么多年白干了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表