非科班,自学两年,复盘两个月,侥幸拿到头条、阿里offer

本文是一位非科班出身的java开发者,通过自学获得2年开发经验,分享其面试头条和阿里的经历。在刷题和学习大牛面经后,成功拿到两家公司的offer。文章详细记录了面试过程中的题目和体验,包括算法、基础知识、系统设计等方面的问题,以及对面试技巧的反思。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“lz”是非科班自学的java,毕业后进入卡中心,现在是2年开发经验。20年年初先后面了头条、拼多多和阿里(淘宝和支付宝),并成功拿到阿里和头条两家的offer。

面试前我主要是不断的刷题且看了很多大牛的面经进行查漏补缺,所以面试完后也想记录下来,权当给大家提供点信息吧。(面试过了一周了,记忆也有点混乱,争取想到多少就记下来多少)。

顺便提一下面试体验:头条 > 阿里 > pdd
拼多多最垃圾的面试体验,没有之一。我约的视频面,结果面试官说有事给我打电话面,然后给我一个文档,是一个算法。我在写算法的时候没察觉到电话信号不好断掉了。然后我回拨过去,面试官来了一句:你不要故意挂断电话去查答案。我%@#¥@#%@5,保持微笑解释信号不好。后来为了信号好一点我去阳台面试,冻的瑟瑟发抖,这个时候心态已经炸了,又冷又紧张,算法题有思路但是一直被这个人否定,最后挂了。

头条

最开始面的头条游戏中台,当时是第一次面试,没有经验,导致算法题虽然有思路,但是没有写出最优解,直接挂了。后来又被捞起来,因为此时已有阿里的offer,所以胆子也大起来了,收拾心情开始面头条。

头条的面试特点基本就是一个套路:【自我介绍】->【项目介绍】->【手撕算法】->【基础知识】,屡试不爽。

  • 自我介绍:我是xxx,来自xxx,毕业后在xxx几年,期间负责xxx。
  • 项目介绍:xxxxx。项目的时候面试官会问你难点和解决方案,同时会给你提出场景,问你更优化的思路。
  • 手撕算法:多刷题,也可以看看别人面过的算法题,可能会重复。
  • 基础知识:针对简历写的东西问,我被问的较多的是一些中间价,Redis、MySQL、Kafka、ElasticSearch,Java基本没问,因为头条这边使用Go。

一面

  1. Two Sum
  2. 给定m个不重复的字符 [a, b, c, d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1。比如上面这个例子,acbd,3。给定m个可能重复的字符[a, b, d, d]呢?
  3. 提供一个整型数组以及一个整数s,如果该数组中存在n个连续元素,且元素相加之和大于等于s,则返回满足该条件的连续元素的最小长度;否则返回0
  4. MySQL集群。假如集群出现延迟怎么处理。
  5. Redis的zset实现延时任务
  6. 设计题:如何设计tiny url
  7. 为什么要四次挥手
  8. HTTPS

第二天收到hr小姐姐的电话,约了面试时间。

二面

  1. 自我介绍
  2. 项目介绍
  3. K Group反转链表。写了栈和迭代两种实现方式,链表的题写起来很痛苦,很容易边界出错。
  4. Redis的持久化机制
  5. MySQL的隔离级别
  6. MySQL索引,聚簇索引和二级索引
  7. Redis高可用方案
  8. 介绍一些Kafka的一些概念
  9. Kafka如何保证消息有序
    …忘了

过了一天又收到hr小姐姐的电话,开心。

三面

  1. 自我介绍
  2. 项目介绍
  3. 第K大的数
  4. 设计题:秒杀系统
  5. MySql的索引优化
  6. HTTPS
    …忘了

三面完了正好是周五,忐忑的等到了周一,以为挂了。结果下午收到hr加微信,约了hr面。

hr面

  1. 为啥离职,怎么想的
  2. 介绍项目
  3. 怎么和团队的人沟通,和成员出现冲突时怎么解决。
  4. 期望薪资,你现在的薪资

三个工作日收到了offer,头条面试体验还是很棒的。

找朋友内推的蚂蚁金融核心,结果第二天就被拒了,杭州淘宝给我来电话,说我被捞起来了。确认了一下,确实如此,那就面吧。

阿里

还是很想去阿里的,所以也很忐忑,淘宝一共经历了4轮技术+1轮笔试+hr面,流程很长,面的我压力山大。
阿里的面试特点:【自我介绍】->【项目介绍】->【场景解决】->【基础知识】,阿里面试除了基础以外,也很看重候选人的解决问题的思维。还是需要候选人有点积累的,假如你写的项目不是自己的,很容易就被问出来。

一面

  1. 自我介绍
  2. 项目难度介绍
  3. 如何实现延时任务
  4. 如何实现限流
  5. 线程池的参数
  6. 能不能自己实现一个java.lang.String并加载
  7. Redis为什么这么快
  8. epoll和poll的区别
  9. 进程同步的方式

二面

  1. MySQL的索引机制
  2. 如何自己实现内存分配和管理?不太懂,然后说了jvm的垃圾回收机制
  3. 你们公司内部的RPC框架,介绍一下
  4. Redis的key过期策略
  5. 缓存穿透和缓存雪崩
  6. 分布式锁
  7. 如何实现全局的id生成策略
  8. 悲观锁和乐观锁
  9. 红黑树了解么

三面

  1. 如何实现群消息已读
  2. 消息推送如何保证不重复
  3. Kafka如何保证消息的可靠性
  4. RPC是什么,和http调用有什么区别
  5. 说一说你项目的架构
  6. GC
  7. MySQL的索引原理,给了一个场景,如何优化
    …忘了

面完3面后居然又来了一个笔试题

笔试

  1. producer-consumer
  2. 两线程交替打印
  3. 多线程模拟100分钱随机分给20个人,每个人最少分配到2分钱

四面

  1. 写个producer-consumer吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2分钟写完完事。
  2. 项目难点
  3. MVCC
  4. HTTPS
  5. ElasticSearch的查询过程
  6. Kafka如何保证高可用
  7. Reids的集群和选主
  8. 知道什么分布式一致性算法
  9. 如何实现定时关单
    …忘了

HR面

阿里的hr面真是让我难忘。

  1. 说说看,假如你是部门技术经理,线上商户数据丢失怎么办
  2. 怎么将一个产品推荐给其他的团队,怎么界定边界
  3. 怎么样协调关系
    (我才2年啊喂,到这里我已经快冒汗了,生怕最后一关毙掉了)
  4. 你和同事相处的情况怎么样,说说你帮助同事的一次经历
  5. 薪资

阿里的面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,就是经常被放鸽子。
支付宝的面试经验其实也大同小异,我就不贴了。

复盘经历

1、众所周知,面试这些大厂算法和底层是必不可少的一部分、所以刷题也是围绕着这方面进行,押题大神左程云的《程序员算法面试指南》对我帮助特别大,学习起算法来也是通俗易懂。(532页,几百道算法题)

image

image

2、刷题终究是必不可少的,筹备了好几本面试宝典和一份Java核心知识宝典,共计有上千道面试题,抽空就刷题复查,其中技术点概况了:java基础、jvm、多线程、高并发、分布式、Redis、spring全家桶系列、dobbo、mysql、网络协议、mybatis、ZK、nginx、kafka等等

image

image

image

3、Java面经,总结他人之长处弥补自身的不足,来自一群大牛的面试经历亲述,有面试美团、腾讯、阿里等等。

image

image

整理分享不易,对个人复盘面试资料、面经等等感兴趣的朋友们可以点赞+关注,点击这里免费领取

祝大家在今年金九银十能拿到心仪的offer!

如果你是科班毕业自学Linux并寻找运维工程师的职位,以下是一些建议: 1. 熟悉Linux基础知识:作为一名运维工程师,你需要掌握Linux的基础知识,包括Linux的文件系统、进程管理、用户管理、网络配置等。你可以通过自学、参加培训班或认证考试等方式来掌握这些知识。 2. 熟悉常用系统工具:作为一名运维工程师,你需要掌握一些常用的系统工具,如awk、sed、grep等,这些工具可以帮助你更好地管理和维护系统。 3. 掌握脚本编程技能:运维工程师需要编写脚本来自动化日常工作,如批量部署、监控、备份等。你需要掌握脚本语言,如Shell、Python等,并熟练使用Linux下的常用脚本编程工具。 4. 熟悉常用的服务和协议:作为一名运维工程师,你需要熟悉常用的服务和协议,如DNS、DHCP、FTP、HTTP等,并能够进行基本的配置和维护。 5. 掌握基本的安全知识:作为一名运维工程师,你需要掌握基本的安全知识,如网络安全、系统安全等,并能够进行基本的安全配置和维护。 在面试时,你可以准备一份简短的自我介绍,介绍一下你的专业技能、项目经验、实习经验等。同时,你需要准备好面试问题的答案,列出可能会被问到的问题,并准备好自己的回答。最后,你可以请朋友或家人帮助你模拟面试,练习如何回答问题、如何表达自己的思路,以及如何展示你的专业技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值