百度,360,淘宝,腾讯,高通中国,htc上海 Android 面试题

2024-01-23 00:08

本文主要是介绍百度,360,淘宝,腾讯,高通中国,htc上海 Android 面试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

备注:这些是我为准备面试在网上看到的,觉得还可以,挺有代表性的题目,暂且放这吧。。。
 
这些题我都认真的看过一遍,有个别的不会,基本还算简单,下面标绿颜色的是我目前不是特别会的,今天务必查一下答案。
 
汇总笔者经历了一些来自百度,360,淘宝,腾讯,高通中国,htc上海的电话面试及现场面试,还有笔试相关题目

百度:百度在北京中关村上地七街奎科科技大厦,不大但是很安静的一个办公地点。
百度技术面试分为两轮
第一轮基础技术面试,一般为项目负责人,主要考察基本知识及知识广度
第二轮面试一般为部门负责 人,主要考察技术深度。基础面试感觉个人答的还不错,主要询问了一些关于android基本知识的考察,涉及到Activity之间的跳转,然后问了一些 关于所参与项目中遇到的问题,比如现在做的云信项目中,如何提供传输效率等,然后讨论了一下关于View刷新机制等问题。总体来看一面比较容易,时间差不多一个半小时。

第二轮面试,面试官看起来挺严肃的,当然由于是考技术深度,所以难度加大了,当然自己也败在这里边了。由于看到简历边有说JNI这块,他就特地主要文这块了,所有问题基本都是以C和数据结构为主。
主要问道:
1. 实现Strlen(char* str)
2.  说说常见的两种数据结构之间的区别,这里边问道了MAP,TREE,队列,数据,栈等。并且说说时间复杂度及空间复杂度。
3.  说说地图定位方式,详细说说wifi定位是如何实现的。
总体而言,之所以答的不好,对常见的数据结构确实并不是很熟悉,没有做好充分准备,建议如果去面试,好好复习《剑指名企Offer》。
第三个问题,面试官让发挥想象去考虑wifi是怎么实现定位的,没有答出来。


360:位于北京朝阳区大望路地铁站不远处,办公地点环境很好。

涉及的主要问题:
1. 笔试,hashcode 与 equals()区别?
2. 冒泡排序算法实现
3. 常见的排序算法时间复杂度
4. dp,px,sp区别及使用场景
5. lauchmode及应用场景
6. 说说你对android的理解。
7.  Android  sqlite3是否支持并发访问?
8. 有没有遇到过各个版本之间android api接口的区别?试列举1~2个
http://blog.csdn.net/lijun952048910/article/details/7980562
9. Android wap访问方式。
360此次面试总体而言,表现挺失败的,笔试题没有答好。面试也没表现好。


腾讯面试:地点在腾讯大厦隔壁的楼里边。

腾讯在电话面试中主要问道了:
1. C++ 引用与指针的区别
2. Android aidl原理。
3. 如何保证service在后台不被kill
现场笔试题如下:
1. Broadcast生命周期。
2. Requestlayout,onlayout,onDraw,DrawChild区别与联系
3. Invalidate 与 postInvaliate区别
4. Android 2D动画框架实现原理
5. Java状态机
6. 线程wait(),yelid(),sleep()区别
7. Java垃圾回收机制
8. 两种单例模式的实现方式
9. 与操作
10.递归算法
11.Map原理
12.Java中int char long各占多少字节数
13.Android为每个应用程序分配的内存大小是多少?
14.Integer与Int的区别。
笔试大概耗时30分钟。
面试过程中,主要是问关于算法与数据结构的题,问了C里边比较经典的一个算法题,求一个数N的2进制表现形式中1的个数。如3(0x0011)中为2个。
没答出来。
腾讯面试兼顾android及java基础知识,并且在面试中主要考察数据结构与算法,但是面试前没有花时间与精力复习此。悲剧的收场。


淘宝:
淘宝面试只参与了电话面试,电话面试耗时约1小时,在电话面试中主要问了如下问题:
1. 自我介绍
2. 参考自我介绍,问了很多关于目前所做项目中遇到的问题
3. 在项目中遇到的最大的问题,回答,listview图片缓存机制。
4. 项目亮点:网络架构,说说对AsyncTask的理解。
5. 如何防止service被kill掉。
6. 说说View的刷新机制。
7. 对Java虚拟机的理解。Java内存回收机制的理解。
8. AIDL
淘宝电话面试时由于当时刚入门android没多久,只接触了一个项目,项目经验不够,并且由于对java理解很浅,所以得到的面试结果是:技术基础还可以,但是技术深度不够。

Qualcomm中国:
Qualcomm简历是在51job上投放的,这也是唯一一个通过网投简历获得的面试机会,其余全都是通过内部推荐获取,这也验证了,其实网投被HR看到的几率是很低,效率不高。不能完全依赖网投的方式进行找工作。、
此次电话面试的是Qualcomm中国上海的 android研发测试工程师,虽然是测试工程师职位,但是在面试过程中问到的问题,丝毫不比开发工程师难度低并且远胜过开发职位。
具体面试问题如下:
1. 谈谈对SurfaceView的理解
2. 如何防止进程死锁。
3. OO里边多态的概念
4. ContentProvider实现原理,为什么能够共享数据
5. 下载模块的优化
6. A a 与 Aa = new A();的区别
7. 说说常用的Intent Flag。
具体问题,目前只记得这几个了,但是面试交谈大概耗时一个小时,一个小时中问道了很多问题,包括linux系统知识,OO,C/C++知识,android及java。覆盖范围比较广。


HTC中国上海:
HTC面试也是通过网投的。看来HTC跟Qualcomm等外企通过网投的概率比较大。
HTC也是采取电话面试:
HTC电话面试,从对方听筒的声音来看,对方一共有5~6人参与面试,包括技术与人力。鸭梨山大。
主要问道如下问题:
1. AIDL
2. 强引用,软引用,弱引用之前的区别
3. Epub格式解析过程
4. 网络访问方式。
5. Davik与jvm的区别
6. Jni相关知识
7. ConentProvider实现过程,这个比较偏像于如何实现。
8. 数据库联表查询。
9. 抽象类跟接口的区别。
总体来看,其实HTC电话面试所问问题相对都比较容易答上,并且实际情况也是很容易通过电话面试了,但是考虑到个人职业规划安排,后续没有去上海总部面试。



经历过以上这些面经历,发现自己学到很多,也认识到很多不足:
1.在不断的面试过程中,自己对如何自我介绍这个环节有了一定提高,比如在baidu的面试自我介绍过程中,完美结合自己对产品的理解,以及如何把这个理念在开发中实现,摆脱了之前面试一位的补充简历的弊端。
2.通过不断的面试,发现了自己在技术上的不足,找到了后续提高的点。技术深度上下苦工,并且面试前要好好做好数据结构复习。
3.面试过程中,适度的低调,隐藏自己的知识面,通过“虽然我不知道是怎么做的,但是我想****”这种方式来增强面试官对你的印象。
接下来自己要努力的点:
1. 解决上述面试过程中遇到的问题。
2. 在平时的工作中,多问为什么,多想想优缺点。
3. 研究SurfaceView,JNI,view工作原理,2D动画框架
4. 深入理解BINDER,CONTENTPROVIDER。
5. 深入学习java,多问几个为什么
 
 
 

这篇关于百度,360,淘宝,腾讯,高通中国,htc上海 Android 面试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/634658

相关文章

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio