《客户端从入门到ssp》

客户端校招全攻略
本攻略将会告诉大家客户端要学哪些知识,校招面试看重什么,有什么加分项。

声明,劝退大军不要来这里找存在感,我也劝退。每年客户端hc这么多,你不做总有人做,客户端总量不会因为劝退而减少,反而待遇会因为稀缺而涨。

这里只讲安卓,也只推荐安卓,因为安卓需求比ios大,而且java退路广,有转小厂后端的机会。鸿蒙就不用提了,完全不推荐专门做。

1. 怎么入门
首先java是逃不掉的,该学的知识一点也不能少,特别是类加载和反射,客户端相比后端用的更多。javaguide或小林coding把java八股过一遍学的也就差不多了。
然后是入门安卓,建议看《第一行代码》第三版,顺便就把kotlin学会了。这里面介绍了基本所有安卓基本知识,看完了搞懂了基本也就是能面试的水平了。

以后可能会再发一个常见八股合集,欢迎关注。

2. 进阶
看View,Activity,Handler等核心组件的源码,理解绘制流程,理解Handler底层原理。

了解JNI,会Native开发,了解cpp和java数据交互,线程模型。

了解framework,了解安卓进程模型,点击一个app图标发生了什么。点击屏幕发生了什么,了解事件分发机制。

理解RecyclerView的多级缓存机制,了解常见优化。

了解进程间通信方式,了解AIDL原理,理解Binder机制。

理解MVVM,MVC,MVP的区别,并会使用MVVM。

熟悉客户端常用设计模式,看常用第三方库的源码,例如OkHttp的责任链模式,Glide的建造者模式。

3. 加分项
会Flutter,会Compose,Hilt等Jetpack组件。

有ACM等竞赛奖项。

实际项目开发经验。

实习经验。

4. 冲击ssp

熟悉KMP,有使用KMP跨平台开发经验。
了解gradle打包流程,有编译优化经验。
熟悉安卓中各种hook方式,有hook经验。
熟悉内存泄露,卡顿监控,有性能优化经验。
熟悉apk结构,了解smail语法,了解反编译手段,有逆向经验。

一般面试都是根据简历问的,简历有什么才会展开问,所以大家可以根据上面提到的点去写亮点,提前准备,给面试留下好印象。

投腾讯的话欢迎扫我内推码,也可以私信我指定部门定向推哦,可帮查进度。
全部评论
虽然你写的挺好 但是我还是不推荐应届生再学Android了
3 回复 分享
发布于 06-13 14:54 北京
我说客户端>前端>kava有没有嘎人懂得
1 回复 分享
发布于 06-18 14:04 江苏
微信什么时候似
1 回复 分享
发布于 06-11 01:27 湖南
感谢大佬分享
1 回复 分享
发布于 06-08 16:21 福建
客户端才是最吊的😭走错路了
1 回复 分享
发布于 06-07 20:24 湖南
佬,现在来了安卓性能优化咋办,来了一个月都没写过几行代码,一直看trace和anr,这种情况要不要跑路啊😭
点赞 回复 分享
发布于 08-02 01:20 北京
劝退!!!!
点赞 回复 分享
发布于 07-20 15:50 北京
啥时候发八股合集!!
点赞 回复 分享
发布于 07-04 11:59 北京
学长实习的时候真能腾下来时间精进吗我实习一个多月了现在这些只是还是面试的时候水平,就看到handler和事件分发结束
点赞 回复 分享
发布于 06-14 23:23 广东
佬推荐学点鸿蒙吗,对秋招有帮助不
点赞 回复 分享
发布于 06-12 13:40 北京
重铸客户端荣光,我辈义不容辞!!
点赞 回复 分享
发布于 06-11 21:07 北京
表扬了
点赞 回复 分享
发布于 06-11 19:42 北京
客户端才是最迪奥的
点赞 回复 分享
发布于 06-10 00:54 北京
劝退!!!!
点赞 回复 分享
发布于 06-09 22:24 北京
佬我是学cpp的 用qt做pc客户端就是桌面应用可以嘛 我看牛客上好多都是java做安卓和ios的
点赞 回复 分享
发布于 06-09 15:02 北京
字节腾讯是不是内部都用Compose了?
点赞 回复 分享
发布于 06-09 11:52 湖南
佬,jni该怎么学,framework呢
点赞 回复 分享
发布于 06-08 21:01 湖北
mark
点赞 回复 分享
发布于 06-08 16:21 福建
mark
点赞 回复 分享
发布于 06-07 20:16 天津

相关推荐

1. 自我介绍2. 你认为后端开发的职责是什么?3. Java怎么存32位无符号整数(这里指的是C++里的那种unsigned int,回答了可以考虑用Java里的Long的低32位来存储)4. Java传参数是怎么样的(只有值传递,基本类型的值就是本身,对象的值是内存地址)5. 接口和抽象类的区别是什么?6. OOP的多态是什么意思?(编译时多态和运行时多态,重载和重写)7. 线程池为什么不使用ThreadLocal?(因为线程池的线程是会被复用的,使用ThreadLocal的话会有内存泄漏问题)8. 抽象工厂模式和简单工厂模式的区别9. Spring的IOC和DI的关系10. IOC还有其他的实现方式吗(不知道)11. 计算机网络里的MAC地址是怎么用的?我现在和你开视频会议的时候需要知道你的MAC地址吗?(回答了不需要,对于上层来说是“透明”的)(后话,我没太明白面试官话里的“我”是指人还是指腾讯会议的这个软件)12. HTTP1.1版本的请求报文结构是怎么样的?(请求行、请求头、请求体)13. 那么作为服务端,接收HTTP请求时怎么判断是否接收完毕?(1通过HTTP请求头中的Content-Length来判断(虽然TCP、IP都有可能会对HTTP的请求报文进行切分,比如说TCP分段、IP发片,但这些对于应用层的HTTP来说都是“透明”的) 2利用特殊字符来进行末尾判断,比如说 一直读取,直到遇上“0\r\n\r\n ”)14. HTTP和HTTPS的区别?讲解一下SSL/TLS的四次握手内容(只简单讲了一下几个随机数的生成和传递过程)15. CA证书是怎么来的?客户端怎么样去验证CA证书是否合法呢?(不知道)16. 数据库中精确到秒级别的数据,应该使用什么类型来存储(时间戳类型TIMESTAMP)17. 存储金额呢?(DECIMAL,讲了一下)18. 为什么不能用FLoat和Double(精度问题)19. InnoDB的索引结构(B+树),讲解一下查询时的过程(讲了等值查询和范围查询)20. 覆盖索引是什么?21. 什么时候索引失效?22. 什么是脏读?幻读?23. 什么时候行锁会退化到表锁?( SQL 命中索引(尤其是唯一索引或主键) 时,InnoDB 会使用行级锁;全表扫描时(索引失效当然也是走全表扫描)会表锁)24. 项目里最大的挑战25. 反问:业务范围(海外事业-物联网)和面试有几轮(2技术+1HR)
查看24道真题和解析
点赞 评论 收藏
分享
09-07 10:54
南开大学 Java
📍面试公司:知乎🕐面试时间:9月7号💻面试岗位:后端开发❓面试问题:**一、八股**1. Java中AQS的实现原理和应用场景2. JVM中类加载器的双亲委派机制及其打破方式3. Spring事务传播机制及其底层实现4. MySQL的间隙锁和临键锁的区别5. Redis的Stream数据类型及其在消息队列中的应用6. 分布式系统中的BASE理论具体指什么7. Kafka如何保证Exactly-Once语义8. 如何设计一个分布式系统的服务注册发现机制9. 什么是DDD领域驱动设计10. Java中强引用、软引用、弱引用的区别11. 数据库连接池的监控指标有哪些12. 如何实现分布式系统的灰度发布13. 什么是服务网格的遥测技术14. 如何设计一个高性能的分布式计数器15. 谈谈你对事件溯源模式的理解**二、项目**1. **苍穹外卖项目**:- 分布式锁在订单系统中的具体实现方案- 如何设计商户端的权限管理系统2. **黑马点评项目**:- 评论系统的分词和敏感词过滤如何实现- 用户行为日志的收集和分析方案**三、手撕**1. 力扣79.单词搜索:给定一个m×n的二维网格和一个字符串单词,判断单词是否存在于网格中- 思路:回溯算法,深度优先搜索,注意剪枝和visited标记2. 力扣48.旋转图像:给定一个n×n的二维矩阵,将其顺时针旋转90度- 思路:先对角线翻转再水平翻转,或者直接计算新位置
查看21道真题和解析
点赞 评论 收藏
分享
评论
24
78
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务