腾讯Android面经

秋招收官最后一战。

腾讯一面(电话):

  1. 自我介绍
  2. 项目,平时怎么学习?
  3. 设计模式
    (1)知道哪些设计模式?设计模式在Android、Java中是怎么应用的,每个都说一下?
    (2)InputStream和OutStream用了什么设计模式?
  4. Android部分
    (1)讲下Android中多线程的实现与应用场景。
    (2)Android内存泄露的场景有哪些?
    (3)Sqlite了解多少?可以并发操作吗?
    (4)讲下EventBus原理。为什么用EventBus不用Broadcast Receiver?
    (5)对SDK源码了解吗?有什么学习计划没有?
  5. 操作系统
    (1)什么是死锁?死锁在Android中发生的情景。
  6. 数据结构
    (1)快速排序原理?归并排序原理?
  7. Java部分
    (1)讲下你对JVM的了解
  8. 网络部分
    (1)讲下TCP三次握手、拥塞控制。
  9. 其他
    (1)在过去做过的项目中,你是如何解决遇到的难题的?
    (2)要问的问题。

腾讯二面(现场):

  1. 自我介绍
  2. 介绍项目,一些模块怎么实现?有什么优化?
  3. 数据结构与算法部分
    (1)算法题:算式分解去括号,例如:(a+b)*(c+d)=ac+ad+bc+bd
    (2)讲下快速排序。
    (3)讲下平衡二叉树原理,应用在哪个场景中?
  4. 网络部分
    (1)讲下TCP拥塞避免和流量控制
  5. 智力题
    (1)海盗分金币
  6. 其他
    (1)说下你的优点

腾讯交叉面(电话20min):

  1. 自我介绍
### 腾讯云 Java 试经验与常见问题 #### 1. 学生信息管理系统的实现细节 在腾讯云的Java试过程中,可能会涉及到具体项目的经验分享。例如,在构建学生信息管理系统时,使用了IDEA作为集成开发环境,并通过Java、Servlet以及JSP技术栈来完成前端交互逻辑的设计[^2]。 对于数据库操作部分,则采用了MySQL来进行数据存储和查询优化等工作;而在更新`Student`对象的信息时,定义了一个名为`Update`的方法用于处理业务需求: ```java public boolean Update(Student student) throws Exception { // 更新学生的相关信息至数据库中... } ``` 此方法接收一个`Student`类实例参数并尝试将其最新状态保存回持久化层内,期间可能抛出异常情况需由调用方捕获解决。 #### 2. 浏览器对服务器响应的处理机制 当浏览器接收到Web应用返回的数据包之后,它会依据HTTP头部字段所提供的元数据指导如何进一步动作。假如Content-Type被设置成text/html形式的话,那么渲染引擎就会依照DOM树结构逐步加载样式表单(CSS)、脚本程序(JS),以及其他资源直至整个页完全呈现出来供访问者查看[^3]。 而对于非HTML文档类型的内容——比如图像文件或多媒体流媒体链接等,则按照各自对应的MIME类别采取适当措施予以展现或是触发下载行为。 #### 3. 并发编程概念对比分析 针对多线程环境下同步控制手段的选择上,ReentrantLock相较于内置关键字`synchronized`提供了更加灵活丰富的功能特性集。前者允许程序员显式地获取锁对象、设定公平策略甚至支持条件变量等待/通知模式等功能扩展;而后者则主要依赖于隐式的进入临界区方式实现互斥访问保护机制[^4]。 至于`synchronized`的工作原理方,其本质上是在字节码层利用monitorenter指令标记一段代码区域为独占使用的入口点,任何试图执行该段落之前都必须先获得关联监视器(Monitor Object)的所有权才能继续前进直到遇到相对应的monitorexit退出为止。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值