安卓工程师精选面经合集
11家公司
27篇面经
最新 热门
/feed/main/detail/1528c3e325cf467784ec02d7a3eae6f2/feed/main/detail/37ebdbb25063462da04783334260cbfa/feed/main/detail/d99985dcdf6a477a87e5555fb6a4a3b3
06-11 15:37
门头沟学院 C++
天美游戏客户端-二面凉经
1h15min1.自我介绍2.问什么gap(家里人生病,我回去帮忙,面试官问为什么不出去工作,我?)3.c++的类型转换4.内存管理5.虚拟内存,分页,交换6.多线程(了解的不多,所以答的很浅)7.看你做的跟win32相关,了不了解安卓和ios的内存管理(不了解)然后开始漫长的图形学拷打?7.一个三角面怎么从磁盘渲染到屏幕上8.贴图,材质,纹理是什么9.解释下法线贴图10.解释下分辨率是什么11.本科有没有图形学相关的课(没有)11.假设有一个蓝色的像素点,怎么渲染到屏幕上12.向量点乘和叉乘的区别(忘了)13.shader是什么解释下然后面试官说没事,只是走流程问问图形学,看你用ue5做了个demo,聊聊ue514.蓝图在磁盘上是什么格式的(不知道)15.蓝图是怎么执行的(没理解面试官的意思,说由事件作为起点开始执行,感觉应该是想问引擎怎么去调用BeginPlay的)16.聊聊行为树(说了下行为树有什么节点,功能是什么,介绍了一下黑板,讲了项目里功能的实现)17.不是让你讲你的功能是怎么实现的,我想知道行为树是怎么样执行的18.行为树是每tick执行一次吗(回答是,g)19.看你做的是个2D游戏,能说一下2D角色有哪些组件(聊了下继承自character,有碰撞盒子,移动组件和sprite精灵)20.sprite包括什么东西(默认的flipbook,自身的碰撞组件等)21.面试官反问没有mesh吗,没有材质吗(人已经晕了)22.聊了聊什么时候到岗,可以实习多久,能不能保证毕业(还以为有一点点机会,说可以尽快到岗,实习时长可以根据公司要求来,学校毕业要求8分,已经有12分可以顺利毕业)22.反问阶段聊了下游戏学习的路径(面试官的第一反应是,首先保证能顺利毕业,我?)聊了下自己开发时遇到的问题(面试官:你还是接触的太少了,所以才觉得目前解决不了,应该采用xxx)面完后45min流程结束鼠鼠简历没写图形学,也说了没有接触过这方面的知识,然后被猛猛拷打了40多分钟的图形学,这正常吗被挂了感觉很难受,失眠到3点,突然不知道要准备哪些东西才能通过客户端的二面了,ue底层的东西确实准备的不多,图形学也没学过,gap天然劣势,已经倒在2面9次了,感觉很迷茫,读研被分了个新方向,啥都要自己搞,花的时间比别人多,收获比别人少,6月中旬了还是0实习,鼠鼠要咋办
查看22道真题和解析
点赞 评论 收藏
分享
/feed/main/detail/bfb6457fc146403a89961cffa5fdbb81/discuss/760608822065897472/feed/main/detail/443a2746f3014d6aa4a788f199597550/discuss/757400736010346496/feed/main/detail/60c8bc86d56b44698d002d9b2cb96a98
滴滴客户端二面面经
二面基本上场景+八股+聊天 个人觉得有点难一. 个人方面1.从大学到现在做过最有挑战的一件事情2.在找第一份实习你做的最正确的一件事3.问毕设(大三没有qwq)4.参加了什么实验室吗(打竞赛qwq)5.什么时候接触的安卓6.期末demo花了多久,怎么写的,有没有借鉴开源项目二. java安卓八股1.安卓进程间通信,为什么新做了binder(不会)瞎说的2.有没有看过binder源码,有没有写过跨进程之间通信的demo3.handler和binder什么关系啊,message和binder的关系(我说message底层是binder,我瞎说的我真不知道qwq)4.安卓里面最难的知识点接触的是什么5.什么是协程 和线程的关系 为什么是轻量级的,节省的内存在哪里6.jvm虚拟机了解到多么,内存管理这方面了解吗(不会 只知道垃圾回收)7.怎么判断一个对象有没有内存泄漏,要不要回收8.日常开发如何排查内存泄漏9.除了leakcanary还可以怎么样10.leakcanary的原理11.如何避免内存泄漏呢,在开发过程中12.安卓发起网络请求如何实现,代码具体怎么写三. 场景1.有abc三个请求a,b独立,c依靠ab请求的数据,如果这样你怎么实现,代码具体怎么实现2.如果我想实现一个线程安全的方法,比如说我写了个单例,这个单例的方法我要是保证它线程安全的,那实现方式都有哪些?3.假如说我这个单例的初始化已经写完了,再去写其他的一些方法,那还有什么方式来去实现4.锁怎么加,加在哪,在返回之前加,在返回之后加5.violent是解决什么问题的,除了单例模式,还有什么情况需要用6.为什么java会有线程不安全(因为java有并发),为什么并发会导致不安全,底层原因是什么(我举了一个两个线程操作同一个变量,会有逻辑错误,所以线程不安全),他说我不对,问我如果想了解这方面的知识原理需要学什么(os)四. 网络八股+场景1.网络层的协议都有什么2.https为什么更安全3.什么是对称加密 什么是非对称加密,加密解密流程是什么(不会)4.dns协议解决的问题是什么5.我们在安卓的网络请求的时候,优化 DNS 解析的时间,有什么思路吗(缓存)6.缓存的策略要怎么去维护(没理解)补充:数据结构要怎么去设计代码的这个类要具备哪些能力7.存下来的数据怎么管理呢(纯拷打)五. 其他询问成绩手撕二维螺旋数组后续觉得凉凉了就没录音,就是一些实习多久云云整体时间就是5,17一面 下午约二面 5.19上午二面 下午oc 5. 22邮件
面试问题记录
点赞 评论 收藏
分享
/feed/main/detail/86945e1b47de47be83b89e8b2a98f917/feed/main/detail/1ef72e59544846b28458782f35399117/discuss/754275259854917632/feed/main/detail/3b35b2df975b4ff7a8ab9039a5f38277/feed/main/detail/856eb30e373c4ba3ada693ecea1d8614/discuss/752662088601833472
05-23 17:33
已编辑
门头沟学院 C++
字节抖音音视频客户端暑期一二三面
时间线: 4.8 投递,之后一直泡池子5.13 一面5.19 二面5.21 三面三面和面试官聊的还行,二面手撕没出来居然过了是没想到,一面面试官全程笑着面试的,他温我哭😭许愿 HR🙏 许愿 HR🙏 许愿 HR🙏后续:三面挂了😭一面(50min)1.自我介绍2.职业规划?3.对客户端的了解?4.对我们业务了解吗?面试官介绍业务项目1.搜索引擎项目的初衷,为什么做这个项目?2.痛点具体是如何解决的?3.整个项目的结构是如何设计的?4.网页数据是如何处理的?5.如果我要新增一个功能(根据浏览历史个性化匹配搜索结果),可以怎么实现?八股1.进程和线程的区别?2.线程同步的方式?3.原子变量的原理?4.具体是如何保证原子性的?5.程序地址空间?6.堆区和栈区的作用?7.IO多路复用?8.TLS 握手的流程?9.MySQL 事务?10. 隔离级别?算法LCR 016.无重复字符的最长子串二面(55min)1.自我介绍项目1.展开介绍2.项目中单例模式怎么设计的?3.匹配率是怎么量化的(搜索引擎项目)?4.项目遇到的困难?八股1.对多态的理解?2.什么情况下用编译时多态,什么情况用运行时多态?3.在设计软件架构时什么情况会用到这些特性?4.析构函数可以是虚函数吗?5.为什么建议是虚函数?6.智能指针是用来解决什么问题的?7.有哪些类型?8.ACID 是什么?9.TCP 的建立过程?10.为什么是三次握手?11.如果第三次握手报文丢失?12.超时重传多少次断开连接?13.有没有参加一些算法比赛?14.快速排序的过程?15.时间复杂度?16.为什么堆排序是稳定的?算法leetcode 39.组合总和三面(1h)全程拷打项目+算法,无八股1.自我介绍2.你提到博客,具体写什么类型的文章?项目1.介绍项目(打断,这里说感觉我的回答有点奇怪,像是是提前准备的😭,确实是背模板,让我后面注意一下)2.项目最关键要解决什么问题?3.具体是如何解决的?4.搜索的精度如何保证?5.如何判断一个搜索引擎的好坏?6.项目如何部署?7.搜索效率怎么提高?8.为什么调用网络库而不是自己实现?9.降低运维的复杂度具体指的是什么?10.计算机基础知识前两面问了挺多,就不问了,下面开始算法算法1.青蛙跳台(能跳一格或两格)2.可以跳任意格(怎么验证结果的正确性?)后续还问了一些开放性的问题,针对博客聊了挺多的反问:业务(抖音音视频);技术栈(安卓、ios、部分鸿蒙)
牛客激励计划
点赞 评论 收藏
分享
/feed/main/detail/1ca3d2b97a95488ca988930ced600b2a/feed/main/detail/2c516b6c0e30432580e4609c479cff48
06-13 17:12
已编辑
门头沟学院 Java
腾讯元宝客户端 - 一面 - 面经
前面就是基本上是八股盛宴,然后看你说什么词触发他被动然后追着问。复盘的时候确实发现底层网络和操作系统问得挺细的,可能客户端偏底层?总体来说面得挺舒服的,面试官也很友善,一个小时很快就过去了。提问环节:1. 自我介绍2. 面试官强调这是客户端面试 说明一下base地,进来要转cpp3. 了解cpp吗?不了解,对于两者的理解我认为最大的不同在于内存管理,cpp可以灵活地控制内存,提高程序运行效率。Java通过jvm来进行内存管理,好处是系统自动分配内存和垃圾回收,安全简单,缺点就是不能更颗粒度地操作内存。还有就是cpp的学习曲线比较陡峭,其他的就不太清楚了。4. Java集合有哪几种?ArrayList,Linkedlist,HashSet,hashmap,ConcurrentHashMap5. ArrayList和LinkedList有什么区别?底层实现,读写应用场景,6. 具体到每一个节点上,他们两在内存占用上哪个更优?ArrayList底层是连续内存的动态数组,利用了计算机的局部最优特性,所以更优一些7. 什么是反射?通过类名在程序运行时构建类实例,操作类方法,类字段,增强编码的灵活性和解耦,但是也存在着安全的隐患8. JVM是如何反射构建类对象的?通过方法区中存放的类信息,字段和方法,去构建类对象实例9. 讲一下类加载机制,描述一下类是如何被加载的?加载-验证-准备-解析-初始化-使用,然后具体内容10. 类加载的时候,它对静态成员变量和非静态成员变量的处理具体有什么不同?静态放在方法区,局部变量放在堆,基本数据类型放在栈帧11. 讲一下CAS是什么?12. 有没有遇到ABA问题?13. Mysql底层存储的数据结构是什么?14. 平时写sql查询语句时需要注意什么,对查询进行优化,结合一个例子说明?15. 你的主表的主键ID是增长是+1吗?还是怎么样?16. 推荐使用顺序递增索引,说了一下顺序递增和UID的优缺点17. 有遇到并发插入,出现ID空洞的情况吗?没有,加行锁了18. 你刚刚说了行锁是吧,那Mysql具体有哪些锁?行锁、表锁、全局锁,间隙锁防止幻读19. 什么是幻读?20. 我看你有提到计算机网络,介绍一下UDP和TCP差异21. 如果在客户端建立TCP的话,一般会怎么做?(愣了一下)一般是操作系统底层通过协议栈来进行网络连接,通过JavaAPI来操作Socket层来进行网络连接通信22. 你有用过java的Socket相关的这些,手动去建立连接的API吗?用过简单的http网络请求连接,还有使用Java的网络应用框架Netty来进行网络通信,可以自定义消息序列方式和序列头等信息23. 你刚才提到操作系统负责网络连接,你知道操作系统提供的TCP的API是什么吗?不太清楚,没有在操作系统层面上实现过这种网络通信的调用24. 解释一下TCP和HTTP这两个专有名词?25. HTTP一定要建立在TCP上吗?还是说UDP也可以?26. 你刚刚说了QUIC协议,关于QUIC你知道哪些呢?27. 既然你提到了中间密钥,那它建立连接的大概过程是什么?28. TCP协议的握手是干什么的,为什么要有握手的过程?29. 它如何保证不接收过去的数据呢?30. 说了一个乱七八糟的问题,什么什么API和你刚刚说的握手有什么关系?(没听懂)31. 那我换一个问法,你知道半连接队列吧?那它在握手的哪一步把链接从半连接移到全连接队列?32. 如果第三次握手的ACK,客户端没收到,会怎么样?33. OK网络相关的就,嗯(话锋一转),HTTP头的大概结构你清不清楚?34. 问你两个操作系统相关的问题,kill命令有用过吗?(玛德没听清,没回答出来)结束一个进程一般用shutdown或者close函数35. 嗯我不是说在你程序内,那你有个jar包跑起来了,你怎么把它删掉?一般在服务器上用docker部署多个容器,用docker stop来停掉程序36. 那你知道在Linux平台,进程退出的时候会有几种信号,你知道几种它们有什么不同?不清楚具体哪个信号,说了个shutdown和shutdownNowPS:GPT说有6种,对应不同触发的方式:SIGHUP是终端关闭挂起,SIGNT是Ctrl键+c优雅退出,SIGQUIT是Ctrl键+\用于调试,SIGKILL是强制终止进程,SIGTERM是kill 用来杀死进程优雅终止,SIGTOP是暂停进程可恢复37. OK,那你对Window系统相关的知识了解吗?不太清楚,只用过一些简单命令行做题:翻转数字?(“123456”输出“654321”)聊天环节:1. 因为我们这边是客户端开发,你这个经验都是服务端的,有做过安卓或者是其他平台的开发吗?做过一个功能比较全的C#全栈作业2. 那你愿意找客户端吗?(灵魂拷问)(流汗黄豆)可以考虑反问:3. 腾讯对于转语言或者转岗位的同学会有过渡的培训吗?会有,但也看部门,主要是看你有没有意愿去做这个方向的工作4. 元宝客户端具体是做PC端还是移动端?都有,具体看你兴趣就行(😥)5. 那具体的业务是干什么的?业务就是元宝客户端,你在各个平台都能搜到的吧,这就是我们的业务(😥这不没说吗?)6. 那客户端主要的工作是集中在哪些方面?用户使用界面?类似前端JS的逻辑处理?都会做,不光是UI展示,还有用户交互层面,也有数据要处理。虽说是客户端,但是整个数据的上下链路都是要做的7. 腾讯对实习生会不会苛刻一些?主要看不同部门的要求,我们这边还好,更注重你的基础是否扎实,解决问题的能力。
点赞 评论 收藏
分享
/feed/main/detail/4bcf73d9c1304ffb99d36dbbfb6de786/feed/main/detail/abe009b477694e8c986a20c7395e58db
05-12 22:45
已编辑
百度_安卓开发(实习员工)
腾讯元宝客户端暑期二面(凉经)
55min问了40多个问题,底裤都被扒完了...问题:1,为什么使用flutter2,flutter的优点是什么3,mvvm架构的特点4,flutter和原生混合开发时,页面路由如何管理5,hashmap数据结构如何实现6,红黑树特点,插入和查找的时间复杂度7,hashmap为什么在链表长度为8时转化为红黑树8,内存泄漏的根本原因是什么?9,内存泄漏检测工具的原理了解吗?内存泄漏是如何被检测出来的?10,引用类型有哪些?11,Java中加锁有几种方式?12,审查代码时,如何发现潜在的死锁问题?13,死锁如何产生14,如何避免死锁15,tcp,udp是哪一层的协议,他们的区别是什么?16,tcp如何保证可靠性17,请求头中有哪些信息18,cookie的概念19,序列化和反序列化20,json和protobuf的区别21,数据加密有了解过吗?22,https相比较与http增加了哪些内容?23,https中的证书的概念24,效率比较高的排序算法,哪种算法时间最稳定?25,在实际项目中更轻倾向于自己实现排序算法,还是使用系统提供的方法26,java或c++中排序算法的源码有了解过吗,动态调节排序算法的策略?27,字符串查找算法,kmp时间复杂度,kmp思想是什么?28,计算机两数相乘溢出,如何解决?29,两个链表相交,如何求焦点30,安卓跨进程通信31,传统的操作系统,除了共享内存外,还有哪些跨进程通信的方法,使用场景相比于共享内存有哪些不同?32,view的绘制流程33,安卓绘制中的硬件加速的概念34,flutter是如何实现跨平台的35,flutter如何进行渲染,落实到平台上36,安卓消息机制37,flutter跟原生之间的消息通信38,服务器主动推送消息到客户端有了解吗?39,安卓本地存储,sqlite和sp的特点40,sp可以跨进程吗?如何操作?41,sp存储信息的两种方式,有什么区别?42,高德sdk,手机在室内时无法做卫星定位,如何发挥作用,误差是多少?43,网络请求框架现在普遍使用的是什么?dio是一种什么样的网络请求框架?
腾讯二面1065人在聊
点赞 评论 收藏
分享
/feed/main/detail/915c1dc581cd451fb58805c626c060b3/feed/main/detail/8ffa2e1d00bc400ba6036bf5fa0716c1
玩命加载中
写面经
发动态
发动态
发帖子
写文章

全站热榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务