0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位android工程师面试百度的经历

工程师人生 来源:网络整理 作者:工程师吴畏 2018-08-30 11:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天去了著名的百度面试,百度的环境很好,我很喜欢。

我在大厅等了一会,前台在帮我预约面试官。不一会面试官来了,看起来他穿的很随意。我想百度的工作氛围应该还是较为开放自由的。

人把我带到了,很多圆形桌子的一个地方,好像这个地方是专门面试用的,周围零零散散有几个一同面试的。这个面试官看起来挺有亲和力。先是让我介绍一下之前做的项目。于是我简单的说了每一个项目是做什么的,负责比较多的是哪里等等。说完之后,他给我一张纸。上面两张图,一张图上画着一个webview,下面是两个按钮,一个叫网页,一个叫列表,webview里写着一个apk的http地址。第二张图是一个列表页面,然后子项里包含一个进度条,和一个暂停按钮。看完之后他们说,点击第一个webview里面的链接,跳转到第二个页面(列表页)。他让我设计一下这个程序。我仔细看了一下。首先我说了下A这个activity的布局,和B的布局。OK。这应该不难。下面的两按钮,我看做是ActivityGroup。功能上,我思考了一下。这考的应该是android与JS的交互,还有就是下载这个方法的写法,再有就是如何更新进度条,更新进度条可能涉及到线程之间的通信问题。整理好思路,我跟他一步步的说。首先,webview加载的html里包含了一个链接,可以把webview添加一个JavaScriptInterFace接口,然后出现clickOnAndroid()这个方法。在这里面可以调用下载方法。 然后写一个下载的方法,new 一个byte[],这的大小可以随时取到,然后服务器会返回这个apk的大小,根据下载过的字节数跟实际的大小比,就可以下载的百分比。这个下载方法可以放在B里,因为进度条也在B里。把A的链接地址传给B,就能在B里进行下载任务,这个下载是在一个线程里进行的。子线程进行下载,同时将下载量用Handler 发消息通知主线程更新UI(进度条)。

上述是这个例子部分的描述,其实难度倒是平易近人。只是在我说的过程中,面试官要求在纸上写出方法名,至少写伪代码。我比较习惯编译器了,所以有的方法名就记得不太清楚,就凑合用笔画着。面试官问的很细致,包括列表如果建立,适配器如何写,适配器里的getView如何写?这些都要问。写的部分大概就是这样。

然后我来总结一下他问的问题。

1、说一下activity的生命周期?A——B的时候,A走什么方法?会不会一直在onPause()?

2、服务的启动方式?服务与activity如何传递数据?

3、有没有用过异步?写出他的写法以及内部的方法。说明他们是在什么线程里?用的AsynTask时候遇到了什么问题?是如何解决的?或者是用AsynTask时候需要注意什么?

4、一个按钮如果变色(点击效果),要如何实现?

5、动画有几种方式?

6、刚才的下载,除了利用实现JavaScriptInterFace接口还有没有其他方法?

7、下载完了如何跳转到该软件的安装界面

8、能否在Thread的runable里面直接newHandler()?如果不能,说出原因?

9、如何使用数据库,写出来

第8题 没答上来 我预感应该不行,于是回去实验了一下,果然报错,大概的意思是,无法创建句柄(Android Can‘t create handler inside thread that has not called Looper.prepare()

),悲剧平时我也没这么用过,就知道很别扭。

不管怎么样,这是一次小小的经验和教训,希望可以从中收获就足矣。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    4041

    浏览量

    134798
  • 工程师
    +关注

    关注

    59

    文章

    1604

    浏览量

    71293
  • 百度
    +关注

    关注

    9

    文章

    2401

    浏览量

    95370
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    百度Create 2026发布“百度胜算”

    近期,百度Create 2026开发者大会如期召开,百度创始人李彦宏抛出个足以撼动行业的新概念: **DAA(日活智能体数,Daily Active Agents)** ,并宣布将以这把"
    的头像 发表于 05-17 09:47 1157次阅读

    百度智能云正式发布Hogee

    5月13日,在Create2026百度AI开发者大会上,百度智能云正式发布了款全新的企业站式AI营销应用——Hogee。这款产品的亮相,标志着
    的头像 发表于 05-15 09:18 778次阅读

    咖啡机液方案#硬核拆解 #电子工程师 #造物大赏 #产品方案

    电子工程师
    ICman
    发布于 :2026年05月08日 10:55:24

    百度地图与NIMO眼镜达成深度合作

    近日,百度地图与NIMO眼镜达成深度合作,将百度地图全栈导航能力以轻量化、低功耗、极简交互的方式落地智能眼镜场景,为骑行、步行、日常通勤用户提供抬头即见、安全随行的新代导航体验。
    的头像 发表于 04-09 10:00 428次阅读

    十年铸剑・共敲开市锣|一位工程师与美格智能的“A+H”新征程

    。庄重的仪式过程中,有这样幕让在场的许多人印象深刻:与其他公司的上市仪式不同,在最重要的8登台嘉宾中,美格智能的一位年轻工程师,作为全公司800多名
    的头像 发表于 03-19 19:05 1241次阅读
    十年铸剑・共敲开市锣|<b class='flag-5'>一位</b><b class='flag-5'>工程师</b>与美格智能的“A+H”新征程

    百度文心大模型5.0正式版上线

    今天,在百度文心Moment大会现场,文心大模型5.0正式版上线。
    的头像 发表于 01-23 16:48 1603次阅读

    什么是BSP工程师

    、嵌入式系统 要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基科上对嵌入式系统的定义如下: 嵌入式系统(Embedded System),是种嵌入机械或电
    发表于 01-13 06:54

    百度世界大会亮点 五年五芯 百度宣布打造最硬AI云

    自2006年以来,百度世界大会已连续举办近20届,百度世界大会是百度每年面向行业、媒体、合作伙伴和广大用户的最高级别盛事,作为百度年度最重要的的战略、技术、产品发布会,自2006年以来
    的头像 发表于 11-13 15:47 2056次阅读

    百度世界2025进行中 百度昆仑芯超节点亮相 性能巨幅提升

    百度世界大会是百度每年面向行业、媒体、合作伙伴和广大用户的最高级别盛事,作为百度年度最重要的的战略、技术、产品发布会,自2006年以来已连续举办19年,持续为行业搭建起交流前沿技术、碰撞创新
    的头像 发表于 11-13 11:51 1559次阅读

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    电子发烧友工程师看!电子领域评职称,技术之路更扎实

    。比如一位电源工程师,评职称前主要做基础电源调试;评上 “高级电源工程师” 后,受邀参与电子发烧友 “电源技术研讨会” 做分享,还接到厂商委托的高功率密度电源开发项目,项目成果被平台推荐为 “年度技术
    发表于 08-20 13:53

    欧洲央行行长行到访百度Apollo Park

    近日,拉加德行到访位于北京亦庄(经济技术开发区)的百度Apollo Park,与百度Jackson等人交流自动驾驶、AI发展等话题,并在亦庄东环南路、宏达南路等公开道路上,试乘了萝卜快跑第六代无人驾驶汽车。
    的头像 发表于 06-18 15:44 1024次阅读

    百度地图重磅发布地图AI开放平台

    近日,在WGDC25全球时空智能大会上,百度地图重磅发布地图AI开放平台。百度地图深耕20年的数据能力、引擎能力与AI技术全面开放,向开发者深度开放四大核心能力和五大场景解决方案。
    的头像 发表于 05-26 11:26 2150次阅读