zoukankan      html  css  js  c++  java
  • Android面试汇总(百度+360+Tencent+淘宝+Qualcomm+HTC)

    Android面试汇总(百度+360+Tencent+淘宝+Qualcomm+HTC) - djun100的专栏 - 博客频道 - CSDN.NET

    Android面试汇总(百度+360+Tencent+淘宝+Qualcomm+HTC)2012年06月14日 08:05:05

    汇总笔者经历了一些来自百度,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个
    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. Davink与jvm的区别
    6. Jni相关知识
    7. ConentProvider实现过程,这个比较偏像于如何实现。
    8. 数据库联表查询。
    9. 抽象类跟接口的区别。
    总体来看,其实HTC电话面试所问问题相对都比较容易答上,并且实际情况也是很容易通过电话面试了,但是考虑到个人职业规划安排,后续没有去上海总部面试。

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

  • 相关阅读:
    单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件)(转)
    Android手机直播(三)声音采集
    Android 音视频去回声、降噪(Android音频采集及回音消除)(转)
    Android中Selector的setSelected“方法不管用”
    Github的快捷键
    哔哩哔哩视频显示在Github的Markdown博客页方法
    小巧的屏幕录像软件oCam
    win7各种插件的下载与使用
    3D 打印机选择说明文档
    在Ubuntu 18.04中安装Pycharm及创建Pycharm快捷方式
  • 原文地址:https://www.cnblogs.com/seven1979/p/4369649.html
Copyright © 2011-2022 走看看