首页 > 笔经面经 > 肥小胖的2年经验的社招

肥小胖的2年经验的社招

头像
肉嘟嘟的小胖孩
编辑于 2021-07-14 16:46:56 APP内打开
赞 11 | 收藏 12 | 回复5 | 浏览3997

个人简介
首先自我介绍一下,我就是好久好久之前发过一次帖子的肥小胖,工作两年了,19年计入字节跳动,到现在两年了,
我也经历了好多了感觉,在这里记录一下自己两年的社招之路。不过首先,跳槽的原因很多,如果有机会,啥都OK,
我想大家估计都不会走这条路吧,既然走了就不要后悔。
学习历程
提一句话,大家还是要多学习的,这两年说真的,真的挺感谢这两年的,我成长了好多,从害怕不会到独当一面,其实真的成长挺多的。我有时候也喜欢学习一些东西,比如自定义View以及事件分发的源代码怎么操作的?Window到底是什么,怎么创建的,原理是啥?协程是啥?插件化热修复呢?但是工作了之后,更加偏向于遇到问题解决问题,学习的东西还是会下降,所以,我还是建议大家都学习,真的很有用的。以及项目的设计,架构能力,你也要有一个宏观的认识,挺好的。我也要好好学习。
上历程
我尽可能回忆哈,有的真的记不住了,不要怪我。面试管都挺好,我说不会,直接过了,也都会问你为什么换工作之类的。

  • 知乎
    一面
    1.事件分发的原理+自定义View,东西就比较多了。
    2.动画的原理,动画类型,有什么区别,如果动画过程中,可以响应点击吗?他是怎么实现的?原理
    3.Handler原理,延迟消息怎么实现的?Handler怎么实现线程切换的,和谁绑定的?
    4.ARouter怎么实现的?
    5.MVVM,MVP,MVC用过吗?MVVM你用的遇到什么问题吗?怎么绑定的?LiveData?ViewModel?这个框架?
    6.RecyclerView原理,哪里好?怎么好?出来一个场景题,我到面试结束也没有听懂,尴尬,直接过了。
    7.IdleHandler听过吗,用过吗,原理?
    8.讲解项目,你用的flavor怎么说实现的,为什么用这个?你们的项目架构什么样的,怎么设计的?
    你怎么和宿主通行的,动态代理,为什么用这个,好处是什么?
    9.你涉及的类似淘宝的SKU(白色-xl-男装),这个自定义组件你怎么实现的?
    10.你涉及的订单售后模块,怎么设计的,为什么这么设计?
    11.你们用的热修和插件化方案是啥?你们自己定制的吗?
    12.遇到过OOM吗,内存泄露,我说一堆,我还说我怎么处理过一起的OOM治理。
    13.过度绘制知道么?怎么整?
    14.算法:找出100以内的质数。
    二面:
    鸽了我40分钟有了,说不够资深,想要更加资深的,换部门重新面试,我放弃了,不面了,有点小脾气。
  • 伴鱼
    一面
    1.你用的设计模式,讲解一下场景以及好处。
    2. https是如何实现加密传输的?
    3. SparseArray与HashMap的区别
    4. view的绘制流程
    5.算法:层级打印二叉树
    感觉问题,我很快回答完了,之后再聊天,有点懵逼
    二面:就是项目,问的不多
    1. activity启动模式,应用场景,区别
    2.View的绘制流程,Window创建流程。
    3.IPC,你知道的,好处等。
    4.和PM,QA,同事沟通问题,怎么处理?
    5.挖掘我的项目,设计之类的,讨论好多flavor设计,动态代理,后面谁也没有说服谁,挺有意思的。
    最后没有消息,一脸懵逼,不知道和之前圈子的教育有没有关系。
  • 猿辅导(通过)
    虽然我是男的,但是三个面试官挺帅的,有一说一。
    一面:
    1.事件分发,问道activity--window--view关系,我说了一下,如果子View都不消费,那么事件谁来消费?叼专, 
    为啥。三个事件分发的调用关系,你有考虑为什么这么设计吗?
    2.自定义View,AT_MOST,EXACTLY,match_parent,wrap_content,如果父View是这,子View是那,测量模式 
    是啥,难不住我,这一块的源码看烂了,嘻嘻嘻。
    3.Handler你能知道的说一下?IdleHandler?
    4.syn关键字的原理,可重入吗?
    5.如果让你设计一个自定View,你需要考虑什么,怎么设计,依据是什么?
    6.知道ANR吗?怎么发生的?如果发生了ANR,弹窗的弹窗你知道怎么出现的吗?
    7.你说过你做过冷启动,怎么实现的?如何保证必须优先前置的初始化任务的一定初始化完成?如果发生了ANR咋办?
    WatchDog?怎么实现的?遇到问题,包已经发出去了怎么办?你们怎么AB的?怎么处理出问题的用户?
    8.Binder的原理知道吗,说一下?activity的启动流程?
    10.View的绘制流程?你说到屏障消息,为啥呢?
    9.问项目,你说说你负责的订单售后怎么设计的,为什么这么设计。flavor考虑是啥?PTRFrameLayout下拉刷新库, 
    你接入的,看过吗?指定看过呀,一顿讲解,还说为甚这么设计,ZB到位。SKU,知道这个商品有a,b,c规格,服务端告 
    诉你a1b1c1价格库存,a3b2c3价格库存,你说你实现了高效算法,怎么实现的?位运算,到位了。
    10.用过什么安全的集合类,CopyOnWrite,Concurrent系列?展示一下??
    11.算法,旋转排序好的数字,找出最小值。(你是不是做过,我当然装傻呀)
    二面
    1.View的绘制流程?我发现他们喜欢问这个。
    2.你说你参与了冷启动,讲讲?说啦一下缺点啥的,我讲解方案。最后问,如果让你设计一款冷启动框架,你怎么设计? 
    开放问题,我最喜欢了,我说注解怎么处理?跨module,依赖关系建立啥的。用到ASM?说说?
    3.自定义View+事件分发,PTRFrameLayout??讲讲??
    4.进程通信,说一下?你说你尝试解决宿主和小程序通信,怎么做的?我说用了一个透明的activity,在 
    onActivityResult接受回调,说你不感觉很重吗,为什么不用service?
    5.内存泄露?场景?怎么处理?LifeCycle?弱引用?用过LeakC吗,原理是啥?你遇到的泄露,能监测出来吗?
    6.你设计了一个CacheContainer,用了缓存为什么不用RecyclerView?让我现场实现了我的伪代码。
    7.算法,把一个链表,大于一个指定num和小于num的数,拆分成两个链表,大的在前,小的在后。
    三面
    1.为啥换工作啊?你遇到问题怎么处理,怎么处理和同事的关系,PM,QA?
    2.你们用了小程序,你担任了重要角色,报警怎么处理的?你怎么监控的?如果艾特对应的人,人员你怎么分派的?
    3.如果你写一个网络请求发生了什么?我从网络五层结构发送方从上到下,接受放从下到上,交换机啥的都给安排上了?
    你说的是底层,你怎么写请求,我问,socket?不好意思,这个不是很了解,简单说了一下。
    4.知道登录吧,手机扫描电脑二维码,怎么实现的?我说了登录态,用户id啥的,扯吧。
    5.讲解项目,我说我们项目用到了flutter,lynx,miniApp,web,问我为什么?区别好处是啥?我反问你们的动态 
    化规划。他们怎么探索的,有什么规划。
    6.算法题,有一个数组,1,2,2,1,3,4,4,5,请你返回3,5,就是相同的抵消。
  • 快手(通过)
    一面(是一个姐姐,人挺好的)
    1.DCL单例,为我每一个判断是为什么,加锁是为什么,VL关键字什么意思,有什么作用?Atomic了解吗,怎么用的, 
    有什么好粗,怎么实现的?CAS?讲解一下?又问,这个多线程怎么有怎么样?
    2.事件分发流程,调用关系?你遇到什么滑动冲突吗?我说左右和上下的冲突很简单,我接入了PTRFrameLayout,讲解 
    了原理?说,你都是在dispatchTouchEvent,那么onItercept+onTouchEvent可以吗?我说不好,遇到什么问题, 
    可能子View接受了Down时间不愿意放开,等原因,我遇到的坑。
    3.NestScrollView原理?讲一下?
    4.安全集合,Concurrent??等,讲解一下?多线程访问ArrayList?我说fast-fail之类的。
    5.用过ConstrainLayout吗?怎么一个View相对两位一个View居中,如果其中一个View设置Gone了呢?
    6.项目实际,你自定义了一个CacheContainer,怎么实现的?好处是啥?我一顿讲,业务,技术,用途怎么样?
    7.View绘制流程?你说屏障消息?Handler原理?
    8.最后算法题,说运行不出来没事,考察你的编程功底,好感动。翻转链表。
    二面
    1.进程通信?也是为甚不用service用透明的activity?
    2.性能优化,内存优化,电量优化,启动优化????
    3.让你自定义一个弹幕,怎么做?会不会有性能问题,我说不会,我会缓存。响应点击,属性动画?
    4.订单售后你怎么设计的,怎么和服务端约定通信的。
    5.View的绘制流程,事件分发??
    6.如果让你设计一个评论区,你怎么实现?如果要回复一个人,上报你的策略是什么?一条信息,有什么关键信息,服务 
    端怎么约定好?
    7.Binder???讲讲
    8.算法题:大数相加。
    三面(技术问题不难,记不住了,相对还简单些)
    1.你怎么处理问题,遇到问题怎么处理,和同事,PM,QA,怎么处理?
    2.你的订单售后怎么设计的,状态怎么同步的?ios呢?我说采用了一样的方案。你这么灵活,后期业务怎么理解呢?我 
    巴拉巴拉一大堆。
    3.前两面技术都问了,表现挺好的。内推你的人,就在我收下,你怎么认识的?难道这个就是爱情??唠嗑。
    4.讲我们的技术栈,动态化规划,我反问他们的规划,问我对他们的技术有神了解的吗?我说前两面技术,不知道,然 
    后,你来了我告诉你,接下来你和HR谈谈。    

后面的面试我拒绝了,就没有面试了,总结就是,一定要是你做过的,不然你真的说不上来,一些原理还是要看的,不然真的不会。别人问你屏障消息,问你怎么遇到的,如果你没有看到View的绘制,直接背,指定不行。原理要多看,东西要多学,项目设计要有理解,其他方面的知识,可以不会,但是要了解。大家要努力哦,好好学习,好好工作,提高自己的竞争力。

保佑一个没有谈过对象的我,变的很瘦,讨一个老婆,嘻嘻嘻

更多模拟面试

5条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐