腾讯音乐事业群 Android 移动客户端一二代码面凉经

状态已经变灰了,确认凉了TT。
另外:一面是不会提前预约的,直接打电话过来。二面会提前预约。

一面(39min)

  1. 项目介绍及职责

  2. 应用怎么和后台做数据交换,数据格式是怎么样的,客户端是怎么解析的

  3. 如果请求失败之后客户端该进行怎么优化

  4. HTTP 是稳定的协议吗?

  5. TCP 如何保证传输的数据是稳定的?

  6. TCP 为什么要三次握手?

  7. TCP 关于安全和稳定性的手段应该如何应用到项目里?

  8. 后台数据回到客户端之后,可以先缓存,缓存该如何设计?(多线程)

    假如此刻在主线程,要处理网络传回的数据并且存入数据库,再返回来更新 UI。此处涉及到的网络线程切换 UI 线程如何操作?

  9. 线程池用过吗?讲讲线程池主要参数和处理流程

    核心线程数会无限创建吗?如果超出了最大线程数该怎么处理?除了扩大队列长度之外怎么办?

  10. GC 原理

  11. 类加载机制

    每个阶段具体是怎么做的,java 如何变成 class

  12. 两个队列实现一个栈的功能

  13. 找出出现次数大于数组长度一半的数

  14. 反转字符串

  15. 死锁的条件

  16. 如何保证线程安全?

  17. 有用过读写锁吗?

  18. 数据库的共享锁,为什么这样设计?

二面(35min)

  1. 还是项目介绍

  2. 怎么考虑的整个 APP 的整个架构?说了 MVP,他说可以考虑用 MVVM(比较新)

    分析一下不同架构

  3. 有没有了解过容器式的架构模式?

  4. 讲讲 Fresco 架构层级,大概怎么实现的?为什么要用它?内存管理怎么实现的?了解软引用和弱引用吗?内存峰值如何控制?View 的引用怎么做的?什么列表管理图片?讲讲三级缓存管理图片的流程,缓存列表的类型是什么?有没有看过源码?除了内存之外 Fresco 还有其它优势吗?图片内存复用有了解过吗?

  5. 为什么要用 OkHttp ?它的优势有哪些?线程池怎么设定?

  6. 项目里碰到最大的困难是什么?

  7. Android 方面有遇到什么问题?

  8. 性能上有优化吗?

  9. 项目主要是信息流为主的项目,有没有考虑使用 H5 开发?有了解过 Web 这块吗?

  10. 对跨平台的技术有使用吗?

  11. 前后端数据用什么协议传输的?

  12. 视频流是什么格式的?怎么解码?

  13. JNI 了解吗?那 C++ 怎么调用 Java?

  14. 常用的设计模式是什么?

  15. 如何真正保证单例只有一个实例?(先说了双检,但是性能不行,又说了静态内置类的方案)还是要场景相关?

  16. 论文是研究生期间发的吗?

  17. 有实习机会的话你能过来吗?

代码面(1h)

  1. 快速排序

  2. 构造大根堆

  3. 最长公共子序列

  4. 往 a [100] 中插入 1-100 的随机不重复数字 java(洗牌算法)


#腾讯##面经##安卓工程师##校招#
全部评论
大佬参加笔试了么,我想问问你重点都复习了什么知识呢
点赞 回复
分享
发布于 2019-08-13 13:39
给楼主打气
点赞 回复
分享
发布于 2019-08-13 16:47
联易融
校招火热招聘中
官网直投
大佬是硕士学历?
点赞 回复
分享
发布于 2019-08-13 20:59
大佬非科班的吗
点赞 回复
分享
发布于 2019-08-13 22:35
我也是一面,但是我感觉一面问了好多,好难的问题,想说做个轻量化的推送统计解决方案啥的。。还有不相交的UI界面的数据共享设计啥的  要求不能用SP之类的东西啥的
点赞 回复
分享
发布于 2019-08-15 01:30
老哥投的哪个部门啊
点赞 回复
分享
发布于 2019-08-18 13:52

相关推荐

这些问题答案后续会发文章尽量补充完整,大家要是知道的话也可以在评论区发表一下对于问题的见解~共同进步!1.首先问了一些关于工作地点、教育背景、为什么不读研之类的问题2.我看你用到了一个叫XXL-JOB的中间件,你了解过他的一些底层原理吗?3.那它底层的数据结构是怎么样的?你刚刚说的这些任务下发什么的都还是比较上层嘛对吧,比如我现在设置一个定时任务是十分钟触发一次,那它是用的什么数据结构去存储的?4.那我们刚刚说到优化,你这个布隆过滤器的作用是什么?5.这里面有两个问题啊,我们为什么不用redis呢,我感觉redis也可以实现这个功能呀?6.你怎么保证后续插入的数据和这个里面的hash map是同步的呢7.它是基于什么实现的,这个变量都已经存进去了,它怎么动态支持它去更新的8.它是怎么插入,是比如调用他的api还是用消息这些完成的9.刚刚你说到的热点课程,其实是比价类似于秒杀业务的时候,你怎么去保证很多人同时去抢课的时候数据的一致性的10.那这个锁是加在课程上面的还是什么的?计算机基础了1.线程和进程的区别2.这两个你分别举一个使用的场景3.说说java单例模式4.java对于这个单例模式有几种实现方式 5.说说TCP和UDP的区别6.再回到你刚刚这个项目,你这个里面的数据量有多大啊 估计没上线也就几百上千条吧,你觉得你这个项目如果上线之后,数据访问量突然从几千变到了上亿级别,你觉得可能会出现哪些问题7.怎么解决这个因为数据太大把数据库打爆的情况8.数据插入不成功怎么解决9.你觉得这个项目你遇到的最大的难点是什么 怎么解决的 反问环节:问的面试官对我之后的学习有没有什么建议指出了一些问题 软件工程科班的计算机基础这块儿再多看看;对于技术中间件的使用要多看看实现原理 多看看源码,要知道为什么用,为什么用它而不用别的投的晚,这是暑期实习的第一次面试,好紧张,面试官人很好,给的建议很中肯,确实还有很多要背的,算法加油啊啊啊#2025暑期实习# #Java面经总结#
点赞 评论 收藏
转发
1 42 评论
分享
牛客网
牛客企业服务