为方便您在新加坡找到合适的工作,安心舒适的生活,欢迎咨询。
官方邮箱:enquiry@xcourse.sg
微信群:@新加坡工作群
WhatsApp群:@Singapore Jobs & Internships
Telegram中文群:@新加坡工作群
Telegram英文群:@Singapore Jobs
------------------------------------------------------------------------------------------------------
【腾讯】客户端岗 - 实习面经
一面
- 项目深究
- handler机制以及其内存泄露、多个handler如何识别
- Broadcast Receiver有哪几种区别以及在哪个进程中,为什么本地Receiver不可以用在线程间通信,onReceiver在哪个线程中,
- service在哪个进程中,service具体
- https流程,客户端如何校验证书,服务器如何获得证书,证书中有什么,证书和签名又是什么,为什么不是服务器产生随机数
- target_SDK_version是干什么的
- 拆箱装箱具体是在哪一步实现的
二面:
- 手写单例以及如何使用单例
- final作用
- static作用
- final和static区别
- final方法可以调用局部变量吗?那该如何调用
- voltatile作用以及在单例中发挥的作用(防止代码重排)
- activity生命周期
- activity启动模式
- ANR是什么以及产生原因
- handler机制以及怎么调用handler,looper和线程的关系
- 多线程通信有哪些方式?(handler,线程池)
- 进程间通信的方式
- 线程池的分类以及具体是什么,以及这些线程池的参数都是什么
- handler内存泄露问题如何解决
- Java的四种引用以及对应的什么时候回收的解释
- 服务分成哪几种,获取服务返回什么(binder),进程间如何获取服务
- 二叉树前序遍历递归版本和非递归版本
- 说一个自己项目收获最多的
三面:
- 手撕代码:寻找出现次数的中位数
- 手撕代码:最少去掉几个字符,字符串可以变成回文字符串(动态规划)
- 项目(测评,如何做的,token和session id区别,tcp报文结构、如何阅读反编译代码、如何使用tcp实现安全协议)
- 项目(四个功能以及如何做的)
- Android的APP启动流程
- 进程间通信方式
失败被捞:
一面:
- 自我介绍
- 关于Android的项目一个一个过
- 面向对象思想
- 封装、继承和多态
- 重载怎么用
- 进程和线程
- 进程间通信
- 四大组件是什么
- activity生命周期
- 死锁条件以及如何解锁
- 线程池的种类及作用
- 算法:
- 鸡下蛋卖一半的鸡蛋,剩下的鸡蛋第二天未成年鸡、第三天成年鸡,成年鸡可下蛋
二面:
- 自我介绍
- 三个项目问
- 看过哪些书
- 设计模式有哪些?最了解哪个?这些设计模式的使用场景
- 内存泄露以及handler内存泄露原理
- 垃圾回收机制(垃圾回收算法,怎么就老年代了,如何判断是不是可以回收,GC root是什么有哪些)
- 写过哪些应用?
- 前端项目问,关于前端和android结合H5的了解
- 算法:n个数,找出连续k个数字之和最小
- 跨平台框架flutter
三面:
- 项目一个一个问
- Android有哪些漏洞
- Android如何加固
- https流程
- http如何保证包的可达
- tcp拥塞控制、三次握手四次挥手
- 设计模式有哪些
- 手撕快排
- 手撕线程互斥
HR面:
- 职业规划
- 地点选择
- 个人性格优缺点
- 为什么选择Android开发
- 其他相关个人问题