玩转互联网公司面试!快手、爱奇艺、小红书等14家互联网企业面经分享!

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

公司:趣头条


一面

  • 在抖音上显示自己做的功能,框架的搭建,实现原理,所做的优化点等。

  • 组件化的实现,为什么做组件化,不同实现的优缺点。

  • hashmap的实现原理

  • view的优化,减少层级,异步加载,x2c框架引入,优缺点,textview的优化。

  • mp4播放alpha视频实现的原理

  • 一面面试官大概聊了1个小时左右,没让我写算法,细究原理和细节,非常仔细。

二面

  • 冷启优化的一些方案。

  • 数据驱动业务的理解,怎么做,和pm产生分歧怎么解决。

  • 我所有做的优化的收益是什么,有什么数据支撑。

  • 事件分发机制,举了一个具体的例子来解决。

  • http的一些问题,1.1和2.0区别,心跳机制,https怎么建立链接,怎么进行数据加密等。

  • 为什么离开抖音,职业发展,诉求等。

  • 聊了大概一个小时,面试官的思路相对独特,不是为做技术而做技术,技术始终要服务于业务,我非常认可。

总结

趣头条北京位于海淀,位置不靠近地铁,需要步行一段时间,整体的环境也一般,不过效率挺高的,在面试完的第二天就给我发offer了,面试流程也相对较少。对趣头条的营收模式看的不是很清楚,类似发钱看新闻,但是现在头条也再做这个,趣头条能够搞得过头条是个问题,如果没有增长点,那后期的转型是什么?ps:从我拿到offer到现在已经一个多月了,股价从10美金跌倒了5美金,也就是说,我如果来趣头条,我的期权已经退水了一半,瑟瑟发抖,看来期权什么的还是很虚呀。

公司:瓜子二手车


瓜子二手车真的是太远了,从海淀到工作地方将近花费了2个小时,而且还不在地铁附近,还需要坐公交。

一面

  • 聊了一下项目中做过的东西,字节码注入相关知识,transform优化,mp4礼物实现等

  • 从桌面点击icon图标开始,整个启动activity的启动过程

  • Binder的实现原理

  • 插件化的原理,以及hook点,大概有两个,可以网上搜索一下

  • hashmap的实现原理

  • 单例的实现,sychrnized的实现原理,以及双锁不加violate,会不会有线程安全问题

  • 二叉树,读取每一层最右边的节点

二面

  • 聊聊大概履历,以及在华为、字节跳动都做了什么,为什么要离开。

  • 职业规划,怎么带领团队

  • 代码设计的基础原则,以及用UML画出工厂模式

  • 将两个有序的链表合并成一个有序的链表,递归和循环两中方式

  • 时间分发机制,并且需要从Android的sensor开始到应用层,我只知道从Activity开始的流程。

  • 聊操作系统Unix,汗颜,我知之甚少。

  • 对新技术的看法(flutter),瓜子二手车也已经开始在项目中使用fultter相关技术

三面(总监)

  • 自我介绍,为什么要离开抖音

  • 线程安全的问题,sychronized和viloated的使用

  • 实现一个CAS(乐观锁)的方法

  • HashMap的实现原理,怎么优化内存占用,优化resize的过程,这个是开放的问题

四面(VP?)

  • 自我介绍,在抖音做了什么

  • 在抖音做的比较好的两件事情

  • 设计一个美团的框架,组件化

总结

瓜子二手车是众多二手车中做的还算比较好的公司,现在像优信、人人二手车好像都不是很好了,就是太远了,公司附近也没有地铁站,就算是公交站还需要走2公里,但是面试官感觉还是比较有水平的,后期的hr跟我谈也是诚意满满,整个团队在我来看,还是一个想做事情的态度。总体来说hr还是非常真诚的,想去的朋友可以考虑考虑。

公司:伴鱼


笔试

  • 双锁单例,为什么要价violate

  • 内部类访问外部类

  • 函数值传递的一些题

  • 子类继承父类,个字都有静态变量、静态代码块、构造函数,执行的顺序

  • int数组,除了一个数字外,其他数字都出现两次,找出这个只出现一次的数字

一面

  • 图片压缩原理,以及在transform阶段进行的必要性,讨论的还挺激烈

  • 内部类引用外部函数的参数,为什么要final定义,值传递

  • 判断一个应用是否切到后台

  • 组件化的探讨,假设场景,怎么处理

  • 插件化的实现方式,以及对相应的场景进行讨论

二面(伴鱼的架构师)

  • 一个疑难杂症,也是自定义插件,讨论是否有更好的方式,最后结果是,他想了一个比较巧妙的方式,没有实践过,但是告诉我可以,保留自己的意见。

  • 字节码相关知识,ASM以及MD5的实现原理,png的压缩原理,这里比较乱,就是说到哪问道哪,比较发散。

  • 对成为架构师的几点看法

三面

  • mp4实现alpha通道的原理,优缺点,收益是什么

  • m*n的二维数组,做(0,0)出发,可以上下左右走,0为畅通,1为阻塞,目标位置(k,j),问是否能到达这个位置,类似迷宫的算法总结

  • 感觉伴鱼的面试目的是问倒你,很多次讨论问题,我说你有什么看法或者正确答案的时候,面试官就让我回去自己上网搜一下,或者给出的方案,经不起我的推敲,我问上两三个问题,面试官反而有点语塞,感觉很奇怪。

公司:最右


笔试题

  • Android中的引用关系

  • 自定义view步骤

  • activity生命周期

一面

  • 介绍最右的现状

  • 常用的播放器,以及优缺点

  • opengl的绘制流程

  • 音视频编解码的流程

二面

  • 在抖音做的工作

  • 性能优化,包体积优化,冷启优化,卡顿优化的一些实现方案

  • mvc mvp mvvm的区别,以及自己实现的轻量级mvvm的原理

  • 编解码的相关知识

  • ijkplayer的优缺点,以及是否看过相关源码

  • flutter的探讨

总结

总体来说面试流程中规中矩,但是面试官的问题并不是很全面,更加关心的是自己的关心的领域,对于我提出的问题(大前端和flutter),见解也仅仅是需要对新技术保持一定的敏感度,从公司产品来看,尤其是4月份出过一些事故,dau跌的非常厉害,好像只有100w+的日活,办公环境也一般,后面hr让我去跟cto再谈一轮,因为考虑到各个方面的因素,就直接拒绝了。

公司:BIGO


BIGO是YY旗下的一个公司,目前刚刚收购了一个海外的直播产品,而且将来会把业务放到北京,还是想做一些事情,员工福利也是不错的。由于现在主要的人员还是在广东,前两面都是电话面试

一面

  • 多线程怎么保证线程安全,violated、sychronized、reenterLock,这三个锁的原理以及区别,JVM是怎样实现sychronized线程安全的。

  • HashMap的实现原理,put()原理。hash冲突,resize,1.8的改动,什么是红黑树,优点。

  • ui优化,主要从检测和优化两个部分说明,优化又分为通用的优化,和改变绘制流程的优化。

  • jvm的介绍,内存介绍,gc等

  • binder机制

二面

  • hashmap是否线程安全,concurenthashmap实现原理,1.8之后有什么改变

  • 播放透明的mp4的原理

  • 冷启优化和ui卡顿的监测和优化

  • thinker实现插件化的原理,我们使用什么什么实现热更新,热更新的通用方案,以及优缺点

三面

  • 介绍自己之前的工作经历,在华为做了什么,为什么离开华为,在抖音都做了什么工作

  • 实现mp4播放alpha视频的原理

  • 是否使用过kotlin,kotlin的一些特性

  • 内存泄漏和oom怎么产生的,内存泄漏的监控,leakcanery的实现原理

  • 看过哪些第三方框架的源码,具体的实现原理。retrofit、okhttp和eventbus等

总结

BIGO一二面还是偏基础的知识,并没有很深或者很偏的问题,三面面试官是之前腾讯的大佬,面试更多的我做过的项目讨论和架构的问题,以及其他方面的一些问题,整体感觉还是比较好的,hr小姐姐是广东人,说话的声音很好听,也很真诚。

公司:音娱科技


主要做的日本的直播产品,好像是A轮,公司并不大,创始人好像也是头条出来的,各种福利制度和头条进本类似。

一面

  • activity生命周期 以及各个函数的含义

  • activity task的四种类型

  • fragment的生命周期

  • 启动server的两种方式

  • intent传输数据的大小限制

  • binder的原理

  • activity的启动流程

  • hashmap实现原理,1.8的改动,红黑树概念

  • 合并两个有序的链表

二面

  • 为什么离开抖音

  • 组件化实现方案 spi的缺点,怎么使用字节码注入

  • Dex的组成,为什么每个dex会有65536的限制

  • 还有好多,时间太长记不太清楚了

总结

是A轮创业公司,面试技术是通过了,最终卡在薪资,可能我要的太高,公司可能觉得依照我现在背景,性价比不高,就没谈下去,后面跟其他公司聊的时候,又了解了一些这个公司的情况,拿完年终奖后,很多人开始跳槽了。

公司:小红书


一面

  • Activity的生命周期、fragment的生命周期,onRestart()什么时候调用

  • service的两种启动方式,service的生命周期

  • binder机制

  • 进程保活:1.防止进程被杀 2.杀死后再拉起,详细的答案网上搜一下,这里就不列举出来了app的包体积优化,lint、proguard、andresguard原理,字节码注入,删除R.java的变量,删除access001方法,压缩图片资源和使用redex等。

二面

  • 自我介绍

  • 对JNI和C++了解吗?基本不了解,就略过了

  • Activity的launchMode,每个Mode的含义,Activity的启动流程

  • 怎么样实现MP4播放alpha的视频,编解码的一些流程,NV20、YUV、RGB一些概念,SurfaceView和TextureSurfaceView的区别

  • 组件化的实现,都有什么技术方案,优缺点

  • 使用数组实现一个队列,有void add(int val)和void pop()两个函数,而且需要考虑扩容

三面(业务线负责人)

  • 介绍自己,介绍在抖音做过的事情

  • 哪两件事情做得最有成就感

  • 怎样重构代码,基本的6大原则,详细讨论每个原则的含义,使用过的设计模式

  • 假定场景,接口定义的有缺陷,第二版需要修改,是增加还是直接修改,以及还有没有其他的方案,怎么去做,为什么,这个是开放的题,结合设计原则,以及真实的情况和自己的一些例子说明即可

四面(Android负责人)

  • 介绍自己,为什么离开抖音

  • mp4播放alpha视频的实现方案,详细解说

  • 跨部门合作,具体的一个例子,怎么去沟通,假设一个例子,用最恰当的方式去沟通。

  • 怎么向上管理以及向下管理

五面(类似VP级别)

  • 对技术选型的看法,flutter、c++、java、kotlin,核心是解决问题

  • 是否会使用kotlin,优势,以及在项目中真正带来的收益

  • 组件化,依赖版本号不同的解决办法

  • 插件化,一些实际问题的,具体是什么记不太清楚了

总结

小红书的装修真是豪,办公环境特别棒,但是面试流程有点多,足足面了5轮,不过总体来说技术还是很不错的,不论是广度还是深度,是一个值得加入的公司。

公司:饿了么


一面

  • 包体积优化,Lint、proguard、andResGuard的原理,以及抖音做的一些包体积优化的方案

  • 线程和线程池的讨论,为什么要用线程池,线程池各个参数的含义,如果队列满了会发生什么,为什么线程池的数量是cpu核数+1好吧,记不起来了

二面

  • 自我介绍

  • 线程安全的方式,sychronized和violated的区别

  • 怎么自定义Transform、自定义Task,Task之间怎么依赖,大致顺序是什么,增量编译的概念,异步加快文件的读取,ASM接口的使用cookie、session、token的含义和区别,这里我确实不熟悉,就直接说我不太清楚了。

三面

  • 自我介绍

  • 在抖音都做过什么事情,相关的几个方向深入讨论一下

  • 对于架构的思考,怎样设计一个好的架构,6大设计原则,分别说明一下

  • 用过什么设计模式,为什么要用设计模式,对于设计模式的思考

  • 怎样提高开发效率,较少沟通成本,实例说明下

  • 为什么要引入kotlin,优缺点

  • 以后的规划

四面(交叉面)

  • 介绍自己,为什么离开抖音

  • 音视频的相关知识,NV20,YUV,RGB的关系,为什么mp4的压缩率比webp的动画要高,编解码的流程,通用的编码格式,软硬解的区别。

  • View的绘制流程,硬件加速的原理和软件绘制的区别,以及相关的view的优化

总结

总体来说面试体验还是不错的,三面面试官对于职业发展和新技术的见解都是非常深刻,也给与了我很多建议。

公司:美菜网


一面

  • 动画实现的方式,帧动画和属性动画的实现原理

复习的面试资料

这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)

  • 第一部分:Java基础-中级-高级

image

  • 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)

image

  • 第三部分:性能调优(JVM+MySQL+Tomcat)

image

  • 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)

image

  • 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)

image

  • 第六部分:其他:并发编程+设计模式+数据结构与算法+网络

image

进阶学习笔记pdf

  • Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法

image

  • Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis

image

image

image

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

image

image

image

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

image

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)

[外链图片转存中…(img-wDKHb4TU-1713143714250)]

[外链图片转存中…(img-0ar13eQk-1713143714250)]

[外链图片转存中…(img-DjJBkAU6-1713143714250)]

  • Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)

[外链图片转存中…(img-aBwQg7k1-1713143714250)]

[外链图片转存中…(img-gdicD9WO-1713143714251)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-gtCTqzfO-1713143714251)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是几个互联网大厂的推荐算法简单描述: 1. 抖音:抖音的推荐算法主要基于用户的兴趣和行为,通过分析用户的观看历史、点赞、评论、分享等行为,来推荐相关的短视频。抖音还利用了一些机器学习算法,如深度学习和增强学习,来提高推荐系统的效果。 2. 京东:京东的推荐算法主要基于用户的历史购买记录、搜索行为、浏览行为等,通过分析用户的喜好和购物习惯,来推荐符合用户需求的商品。京东还利用了一些协同过滤算法、隐语义模型等算法,来提高推荐系统的准确性。 3. 小红书小红书的推荐算法主要基于用户的兴趣和社交关系,通过分析用户的浏览历史、点赞、收藏、评论等行为,来推荐符合用户喜好的内容。小红书还利用了一些图像识别、自然语言处理等技术,来提高推荐系统的效果。 4. 美团:美团的推荐算法主要基于用户的历史订单记录、搜索行为、浏览行为等,通过分析用户的偏好和消费习惯,来推荐符合用户需求的商品和服务。美团还利用了一些协同过滤算法、基于内容的推荐算法等技术,来提高推荐系统的准确性。 5. 快手快手的推荐算法主要基于用户的兴趣和行为,通过分析用户的观看历史、点赞、评论、分享等行为,来推荐符合用户喜好的短视频。快手还利用了一些深度学习和强化学习等算法,来提高推荐系统的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值