最近看了看外面的机会,特此汇总下,希望对读者有帮助。

战况

总体周期在 4.15 ~ 5.15,中间还包含了个五一假期。看机会原因是好久没挪窝了,想再提高下自己的技能跟待遇,我自己是个焦虑患者,所以不想面试周期太长,本次面试原则就是主攻周期较快的公司。

个人简介注意点面经1. 贝壳一面LeetCode 199,二叉树右视图。Dubbo 跟 Spring Cloud 区别,自己从宏观到细节简单对比着说下。限流算法中的令牌跟漏斗区别。Zuul 作用。项目细节讲解,流程图,瓶颈在哪儿。开发人员写出死循环,发布上线后如何查出此问题来。QPS,如何压测,性能测试,性能指标。性能优化经验,聊一聊。线程池说下,如果一堆线程任务有20%概率失败,如何保证100% 成功。职业抉择,算法工作为什么转到知识图谱工程了。目前应聘的岗位是纯Cloud开发,你的劣势。关于图数据库的不同种类了解及对比,比如Neo4j、DGraph、GanusGraph。方向不匹配,凉。2. 跟谁学一面LeetCode 662.二叉树最长直径。秒杀场景设计,逐步引导设计思路。项目的细节探讨及框架流程图,如果项目数据量、并发度扩大十倍咋办,哪儿块是性能瓶颈。消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka为什么那么快,Kafka重平衡问题。非toC岗位到toC岗位的心态切换,抗压能力。SpringCloud那套东西的压力感。二面MySQL理解,事务隔离级别,MVCC,三个日志文件作用。

现在做的东西的数据并发量跟业务复杂度探讨。自我讲解个满意项目,项目亮点。操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO细节。日常如何自我学习。LeetCode 215 TOP K。三面项目介绍,面试官挺忙的,没咋问项目细节。Redis跟MySQL缓存一致性。你对Dubbo底层理解。你对DDD的理解。3. 搜狐一面MapJoin 是什么?Hive 数据倾斜 咋办?cluster by order by reduce by distribute by区别。Kafka 为何那么快。MySQL B树 B+树区别。UDF、Spark、Netty、BIO、NIO、AIO框架。LeetCode 103. 二叉树的锯齿形层序遍历。二面项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。MapReduce流程, Shuffle过程细节,数据倾斜如何避免。hive语句书写,开窗函数的考察。ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点。自己项目介绍,简单了解下职业规划等东西。LeetCode 5. 最长回文子串。三面项目介绍,负责模块。HBase架构图,LSM理解。

Spark在工作中的应用细节。Scala语言的熟悉程度,Scala跟Java的区别关系。你所应聘的岗位主要职责。4. 脉脉一面MySQL 优化 查询 如何优化这些操作。MySQL的 ACID理解,如何保证的,MySQL底层架构是啥。Redis的几个基本数据类型,底层实现。RabbitMQ 工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)。MySQL为什么不建议用Text。MySQL limit 10W,10 这样的优化,覆盖索引的使用。Linux CPU满负荷如何排查。

1. top -c 显示进程列表

2. 键入大写P 按照CPU使用率看进程, 比如找到了进程PID = 10765

3. top -Hp 10765 显示进程中线程列表

4. 键入大写P 线程按照CPU使用率排序,比如找到线程PID = 10804

5. 将进程PID 10804 转化为16进制 printf “%x” 10804 2a34

6. jstack 10765 | grep '0x2a34' -C9 # -C是匹配行和它前后各n行

7. 找到 耗CPU高的线程对应线程名字 以及在干什么

9. 链表是否有环, 如何找到交点,计算出环的大小。

10. 一个字符串中的最长无重复子串。

11. 一个帖子 来回回复如何存储,如何设计。

二面一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种。分布式锁实现方案。Redis为什么那么快,Redis底层实现。RabbitMQ 中的TTL。Redis中常见集群部署情况,出现性能问题如何排查。纯Python后端开发岗位是否接受,你到目前待遇跟期望待遇。5. 小米一面两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。Hbase的理解,LSM演变过程。项目介绍,数据治理方面的理解。简单SQL语句考察,MySQL各种索引跟如何优化。Kafka 重平衡,Kafka架构图的理解,读写流程。二面LeetCode TOP K 。项目介绍,瓶颈延伸,自我复盘。你对Spring的理解,循环依赖。不停机修改MySQL一个字段,如何对MySQL进行服务器扩容。RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。1G内存,1T文件,想找到出现次数第二大的字符串。进程间通信几种方式,每种方式的优劣性。三面项目介绍。过往算法工作的项目讲解,李航统计学习、西瓜书、机器学习实战的学习心得。地球上所有湖泊跟大海的体积如何求?大学数学建模大赛相关信息。内核态跟用户态的理解,操作系统的几个核心点及调度算法。

实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。岗位职责要求。6. 百度一面TCP 阻塞如何解决。Python 中的GIL理解。Flask生产环境如何配置,Session 检验。Python中继承特性。Java HashMap 7 跟 8 的流程设计理念,为什么7中会出现环。Java 线程池参数。Synchronized 的理解。ReentrentLock 优势跟用法。公平锁跟 非公平锁 的理解。如何选择用哪个。Redis中的事务。Redis中的zset底层。Redis IO多路复用机制。Kafka 为什么那么快,消费者组的理解,Kafka的重平衡。MySQL隔离级别,MVCC理解。最近最有挑战性的项目。Spring AOP 的理解,实现原理,String字符串拼接成目标类然后通过反射出所需class。LeetCode 572,判断 一个二叉树在另外一个二叉树中。告知不太匹配,但面试时感觉聊得挺融洽的,感觉被刷KPI了。一面二叉树左右节点互换,自己写出求解过程及测试用例。区间合并,自己写出求解过程及测试用例。多个链表进行合并,自己写出求解过程及测试用例。HBase底层架构组成,LSM理解。

Clickhouse跟Spark的理解。面试官全程没开视频,错误地以为我只有一年工作经验。告知不太匹配,再一次感觉被刷KPI ,爱消失了。7. 美团一面图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。聊下项目,项目的技术难点。你对高并发的理解。二叉树转换为双向链表,剑指offer 36 。JVM 垃圾回收器 聊一聊,CMS 优缺点,三色标记法过程细节,G1的优缺点跟实现过程 。HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?Hive底层执行流程了解么。二面燕京大学跟你们学校啥关系。进程A操作变量x,然后报变量地址写入磁盘,进程B是否可以操作。类似360开机打败全国多少那种设计,正态分布。定期更新模型核心参数。TCP 知识点考察。前端请求从发出到最终得到响应,整个数据的流转过程。设计一个数据结构支持O(1)的insert、remove、random。一面

由于上一次的二面面试官认为岗位不太匹配,所以被内推到了另外一个部门面试,估计前面的2轮面评还不错,所以这次竟然没有3面。

个人介绍,项目架构图,自我感觉项目难点,现在再让你重新做这个项目你会有什么修改跟调整。项目数据细节问题。RabbitMQ 跟 Kafka 对比下,说下对MQ的理解。mmap java里怎么实现的,ZeroCopy的演变历程。在线服务如何保证稳定性,感觉又关联到了高并发的理解上了。常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。Dubbo 跟 Spring Cloud 开发的区别跟理解。常用限流方法,自己咋实现。分布式链路追踪的实现跟理解。二面个人介绍,你对数据治理的理解。平常如何提升自己,你对JUC的理解。对以前做的AI项目简单讲解下,你负责哪块。你目前手头offer,你的面试计划跟安排是啥。对于数据治理的理解,Java开发 + 大数据开发 + BI 报表 + 推荐搜索,整个数据流转的过程的认知。8. 字节一面项目介绍,你负责的模块,技术难点。Kafka为什么那么快,Kafka重平衡咋处理的。HTTP的发展史理解优缺点,公钥、私钥理解跟加密过程。操作系统内存、进程、IO、文件管理的理解,自己大致说下理解。Leetcode 8.atoi ,注意边界问题。二面项目介绍,求职岗位的工作内容描述。

Hive执行底层流程。Hadoop的发展史,自己说下HDFS、MapReduce、Yarn等组件跟数据流转过程。Kafka生产者消费者速度不平衡咋办,Kafka重平衡。Redis跟MySQL那套八股文的知识点。LeetCode 236. 二叉树的最近公共祖先。三面ZooKeeper 的理解。聊项目,自我评价下项目的技术短板,数据重复消费如何解决。RabbitMQ 跟 Kafka 聊一聊 宏观 自己说那种。线程池如何实现参数的动态修改。Hive执行的底层原理。字符串消消乐。整体语言知识体系转go如何?9. 快手一面链表是否存在环,如果存在咋找到入口,如何获得环长度,为什么fast是2步,3 4 5 不行不行?多思考下细节问题。线程咋打断,interrupt 用法。LeetCode 124,给定一个非空二叉树,返回最大路径和。JUC 高频八股文考点。syn跟Lock对比,如何进行选择性使用呢。BitMap 统计那些数据出现过,那些没出现过。还有好几个是场景设计思考的题,当时能说个12,然后面试官会引导你,看你是否能说出个3来。二面业务数据处理时数据治理问题,如果规则引擎经常增删如何实现高效的对外服务。

大数据从数据收集到对外提供服务的思维跟理念,数据从MySQL、Redis、MongoDB等各种平台获取到后,如何提供对外服务。如何提供高质量的服务呢?数据提供服务需要考虑的点,OLAP、OLTP、高性能、高可用、高扩展。A服务器a,B服务器文件b,如何判断 ab文件是否一致,尽可能地避免来回传输。MySQL用户数据,如何保证高可用,你对高并发的理解是啥。数据治理方面的思想idea。无损降级听过吗。布隆过滤器的思想,多个布隆过滤器的思想?服务治理的思考。10块糖,每次最多3个 如何保证必须赢, n块糖呢?如何保证赢。三面你负责的是什么部分,你感觉最大挑战是啥,选个感觉最好的项目说一说。你对大数据架构体系理解。fast counter 如何实现 类似 变量 i++那种(没及时沟通,充分理解题意)。最后知道考察的是LongAdder 跟 ThreadLocal。hive 实现底层 ,开窗函数的考察。Redis中的常见高频考点。syn 对象头咋回事,锁升级过程。调度框架 爬取10万个URL,10万个URL 属于不同的节点, 每个节点有不同的访问频率跟总次数限制,如何实现。Kafka架构体系说下,自己的理解。

Leader自己理解下。日常学习方式跟思维,如何度过新工作的切换期。感悟一面:大部分考察基本Coding能力跟一些八股文,中间穿插着一些小场景问答,而其实开发性的场景问答才是最考察候选人能力的,反正我公众号的八股文内容,面试官几乎都没咋问,也可能面试官认为你工作那么多年了,这些必备点应该会了。二面:一般都是组长面,面试的时候几乎全程场景设计,中间穿插着一些你对一个知识点的理解,你是否有自己的一套认知体系跟方法论。这玩意咋说呢日常只能是多思考,多总结。三面:一般都是总监面,考察点几乎都是数据结构的设计,场景设计,你对所用工具的底层实现这些东西,你对这个方向整体对知识体系跟框架对理解,几乎二三面就给你定级了。交叉面:如果学历不错或者工作时间很久了,或者前面的面试官对你的技术定级有疑问,此时一般会有跨部门的 leader 会跟你交流 battle一番。周期:阿里跟腾讯的面试周期都40天起步的那种,如果有个阿里或腾讯梦,尽量做好长线战斗的准备,注意调整面试状态,我在面了半个月后,心态崩盘了一次。待遇:注意回忆下自己在三轮技术面的表现如何,这关系到你的技术定级跟你的期望薪资。八股文:常见的考察知识点我们都俗称为八股文,这些东西最好可以建立个自己的知识体系,任意说一个知识点你可以进行由点到线、线到面、面到全局的讲解跟思考。日常你可以用cnblog、CSDN、掘金、公众号等平台来梳理知识。

Prcesson绘图场景设计:这个环节其实是最好玩,也是最考察候选人能力的地方,工作久了,双方都懒得套招了,一般会直接场景聊一聊来看下候选人的实力如何,感觉自己准备的也不充分。我的面经都是在面试后的第二天复盘的,很多场景设计都忘记了。以后多努力了!积累:日常多积累吧,IT行业跟嵌入式或硬件行业不太一样,更新迭代太快了!要保持Keep Learning的状态,最后分享一份阿里内部面试资料

关注+转发后私信小编【学习】即可获取这份资料哦!

面试题内容详解

关注+转发后私信小编【学习】即可获取这份资料哦!

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注