互联网科技Java 杂谈Spring-Boot

2018年的腾讯,阿里,百度,微软,头条春招实习面试经历

2019-02-19  本文已影响9人  AGI大模型阿南

蚂蚁

一面3.15

  你参加了这么多比赛,讲一下你参加的比赛,在队伍中的角色   

  你参赛做的项目详细讲一下,实现了什么功能   

  这个项目你用了什么框架,图片的加载怎么做的?自己写的图片缓存有没有用内存缓存?   

  讲一下在实习做的东西:继续追问实习做的东西,比较详细的问   

  如果一个线程在循环处理消息,当没有消息要处理的时候这个线程会阻塞,请问如果没有消息的以后,当前上下文如果退出,这个线程要怎么处理   

 说一下序列化?序列化的作用是啥?   

   TCP和UDP的区别  

一个链表,给了头如何确定长度?如果为指针指向一个中间节点呢?时间复杂度是多少?空间复杂度是多少?   

  老板给A和B两万块钱让他俩分,A先提出分钱方案,如果B不同意,则钱降低到一万块钱并且由B来提出方案,如果A再不同意,钱就不分了,强制一人一千块钱。请问如果A和B都很聪明的话,如果你是A你提出什么方案会让自己收益最高。   

  平时都喜欢做什么?   

  看源码都看了哪些源码?   

  玩什么游戏?   

  除了英雄联们,还玩什么么?   

总结:10题答错了,太紧张,挂了电话仔细一想才想出思路。总体感觉这一面是面综合能力,并没有问什么太具体的Android技术,只有一个图片缓存,他还是提了一句,只是问了有没有用,也没问怎么实现。

二面3.16

  你在实习的时候做的东西具体讲一讲   

  追问实习具体写了什么   

  继续追问实习写的一个具体功能   

  参加比赛的项目具体讲一讲,你在队伍里是什么角色,队伍组成?   

  你觉得你参加比赛能拿好的名次,具体优势在哪?   

  你是怎么参加这些比赛的,找到这些比赛的?   

  问另一个研究生期间做的项目,有哪些功能,具体到三级导航怎么实现的,每次切换导航是否访问网络?如果每次访问网络可不可以做一个缓存?做缓存的话你怎么具体实现?加入购物车是怎么做的?商品详情页如何做的?在做这个项目的时候有没有遇到什么难点?   

  Google为了防止过度重绘推荐使用哪些标签?又不推荐使用哪些标签?   

  如果自定义实现一个View的话如何实现?   

  Android并发过程中如何实现线程的安全性?   

  对象各种引用分别说一下   

  可不可以把对象的引用用于用在上面说的缓存上?具体怎么做?(说到弱引用问我的)   

  讲一下你所知道的Android系统架构内容,越详细越好   

  讲一下Binder   

  Google出了一些不是原生的开发框架你有了解过吗?   

  Google现在出Android8.0、Android9.0,你有没有了解过他们的新特性?   

你有什么问题想问我吗?

总结:能记起来的就这么多了,都是很基础的问题,感觉比其他几家公司都容易

  二面结束他告诉我他是蚂蚁金服国际事业部的,还会有人再联系我,意思就是这次面试过了?然而一个星期后在系统上把我拒绝了,真的没法说,不讲信用?实力不济?

  然后又投了一个非内推的,被口碑捞起来面试了,一面是一个IOS面试官,呵呵,能面出什么就奇了怪了,二面是一个java面试官,但是懂Android,聊了好久,大概一个小时四十分钟,但是蚂蚁的经验告诉我,阿里面试官说的话当那啥就好,果不其然,面试完以后问问题环节,我问了一下北京的岗位问题,然而他说“啊呀,忘了告诉你了,口碑在北京没有Android岗位,我可以把你转到其他部门比如蚂蚁,如果转不了我也没办法了”,此时心里一万个草泥马在奔腾。

  再然后蚂蚁又面了一次,结果一面面试官是个搞java的,问我一些java后台的问题,这么随意吗?二面是总监面,面了10分钟,除了项目经历,又是问我java的问题,无语。

  蚂蚁可能又凉了,转到钉钉了,钉钉打电话问我去不去杭州,我肯定不去的,然后又有北京的钉钉联系我问我什么时候入职,让我多了解一下钉钉,全程蒙蔽脸,说会加我钉钉和我聊一聊,结果本人不会使用钉钉就这样不知道咋回事,没收到联系。

  第二天,杭州钉钉打电话重新面试,当时已经耐烦了,二十分钟回答完问题以后,让我加他钉钉,他给我出道题做,顺便说一下,这个面试官也是做java后台的,面试中我说了半天,他说他听不懂Android相关的。。。

  再后来加了钉钉,他让我看钉钉的开发文档,给我一天的时间让我写文档感悟?当时已经对阿里失望至极,就告诉面试官我主动放弃面试。

  感觉吧,阿里对客户端开发不友好,收人少?面试官为什么都是后台的?

5.29收到实习意向书

腾讯(已收offer)

  一面3.21 

    自我介绍     

    JNI如何调用,能不能更改对应native函数的名字     

    一个对象比如Person person = new Person()这个过程虚拟机做了哪些操作     

    讲一下Binder     

    如果所需内存超过Binder限制,你会怎么设计这个IPC     

    讲一下Android用到的Socket     

    IO多路复用epoll poll select区别     

    onCreate方法依次执行print("logA");post("logB");print("logC"),print表示打印,post想looper中发送任务,请问输出顺序     

    一开始线程ClassLoader是ClassLoaderA,然后Thread设置ClassLoaderB,设置ClassLoader之后的代码使用哪个ClassLoader?     

    Activity启动流程     

    ActivityThread文件作用     

    Instrumentation作用     

    SSL原理     

    Http1.0和Http2.0区别     

    写代码,二维数组回形输出,不输出四个角     

    什么时候能入职?     

二面3.21

Voliate关键字的作用?     

    写一下单例,不能用内部类     

    单例如何不让线程阻塞     

    1000瓶酒,其中有一瓶酒有毒,老鼠可以试毒,就可以随便兑,每个老鼠只能喝一次,并且必须所有的老鼠一起喝,问你最少几只老鼠可以试出哪个酒有毒     

    讲一下ANR     

    两个栈实现一个队列     

    如何阻断ANR(不是避免)     

    Activity对象在哪儿存着?     

    Android组件跨进程通讯方式?ContentProvider,Service如何跨进程通讯的?     

    Android中有哪些同步方式     

    Atomic作用?     

    还有的问题记不清了...     

    老板是做什么的?     

平时怎么学习?

总结:第一个面试官按照简历问,打破沙锅问到底,哪个变量的作用甚至都会闻到。二面没怎么问简历上的,也是问的比较细,如果不是深刻理解,综合能力达不到的话肯定不行,如果只是刷刷面经,上面的问题可能答对不少,但是上面的问题他会延伸,延伸至少一两次。干脆利落,面试管还留了电话让我思考两个没答出来的问题,可以发短信给他。面试问题也面出了实力,相比阿里整个面试横跨两个月,要好很多。

  后来腾讯地图也让我去面试,结果腾讯新闻这边已经要我了,白跑了一趟,打电话的时候地图的面试官态度很好,各种说不好意思,意思他们工作没做到位,让我跑一趟,本来打算走了,他说让我等他一会儿,他跟我聊一会儿,接下来三分钟尴聊,问我地图和新闻倾向于哪儿,当然是说两个都可以啦,然后告诉我如果新闻那边有什么问题的话,可以联系他,还可以面地图这边。收到新闻这边的offer,全程很快,一个星期有结果,10天有录取意向通知书。很给力。 

百度(手机百度部) 已获offer

  一面3.19 

    自我介绍     

    ArryList和LinkedList区别     

    HashMap原理,还有什么解决hash冲突的方法?     

    9.png像素是怎么拉伸的?     

    在Android上如何画一个钟表,包括刻度,圆盘,指针     

    px、dp、sp的区别?具体讲讲每个?     

    如何通过反射拿到一个私有变量的值?     

    做的项目里边的具体实现,问的很细,让我界面图,每个部分都是用什么做的     

    图片缓存怎么做的?LRUCache实现的数据结构?     

    讲一下HTTPS,SSL原理?     

    一个APP从产品的角度来说有哪些标准?(我从CPU和内存角度答了,他提示我启动速度,又告诉我耗电量等等)     

    如果让你写一个网络请求的类库你会怎么实现?各个模块如何解耦,都有哪些模块,从宏观上讲一下     

    你看的源码里你比较熟悉的机制,讲一下     

    Binder的好处是什么,为什么google用Binder而不用其他的?     

    ViewGroup的绘制流程,提示:先测量     

    ViewGroup里面的onDraw具体有哪些步骤,提示:先画背景     

    Android的动画有哪些?     

    序列化有哪些?java的序列化为什么不好?Android的又为什么好?     

    一个应用可不可以有多个进程?     

    一个应用可不可以有多个Application对象,为什么?     

写个算法,两个有序数组合并成一个

总结:问的比腾讯细,百度是实打实的技术点,腾讯会问原理但是不会问题具体哪一点怎么实现,像onDraw的内容我只能记得绘制子View,其他的根本记不住。还有以上来问了一个9.png的问题,只答对了一半,毕竟是需要记忆的东西,长时间不用就忘了,瞬间蒙蔽。序列化的问题,Parcel我是真的懂,然后我也大概知道Serializable是怎么实现的,但是具体不知道,我说我猜一下,其实也猜的七七八八了,但是他说我说对了一半,告诉我Serializable有冗余信息(其实我也说出来了,只是没说冗余二字)。

二面(技术总监)3.19

    学术方面做的什么?     

    如果以后工作中接触道AI领域,你怎么看?     

    你的学长学姐们都是在哪儿工作?他们从事工程和从事AI方面工作有什么差别?     

    如果你在实习,你的leader正在开会没给你布置任务,你会怎么办?     

    未来三年你对自己的职业规划是什么样子的?     

    你以后想从事Android的前端还是后端?     

    有没有看过系统自带的上层App的源码?     

    有没有关注Android新系统的功能?     

    如果Android出了新系统,需要你出一份调研报告,你会怎么去做?     

    自己的优缺点?     

    平时是怎么学习的?     

    讲一下你觉得印象比较深刻的开发经历     

    平时有没有写写博客或者什么的来记录学习?     

    准备什么时候入职?     

阿里和百度都要你你怎么选?你会以什么作为参照条件?

总结:技术经理讲话比较和蔼易懂,总的来说没问技术问题,最后还让我加他微信有什么,可以微信详细聊,本来一面感觉很惨,都感觉要挂了,他聊的又让我产生了面过了的感觉。。。

  最后发了offer,也答应了我五月中旬入职的要求,不过我也明确告诉他了,我还有其他的面试,不一定接offer,hr也表示理解,说可以拒绝offer。后来就把百度拒绝了。百度态度很好,大厂风范,前台妹子也很温柔~ 

  今日头条(GG) 

不想回忆这个面试过程,全程面试官鸡蛋里挑骨头,挑出问题来以后就嘲笑你,什么你到学没学过数据结构?意思是我啥也不会,各种嘲笑,嘲讽,挑毛病,态度很差。面了一面就结束了。你问的问题我不会,可以没问题,我实力不济,但是我答对了,你挑文字毛病,好,没问题,我说话不严谨,我改正,但是你嘲笑我什么意思呢?我是一个面试者,我当然有不足的地方,你嘲笑我,作为面试官真的应该吗?应该庆幸没面过,不然遇到这样的leader,有的受了。当然也没打算去,因为听说加班超级严重。

  微软(GG) 

1.简历初选通过

2.线上笔试,全英文题目,由于有leetcode功底,读起来没问题,一共四道题,两个小时,做了三道,除了一道有一个极端情况忘了处理了,剩余两个都没问题,最后一个没时间做了。

3.现场面试,一面面试官写了一个二维动态规划,后来在题目基础上延伸了一下,改了下代码,问了一下进程通讯的问题,免得还行

4.二面面试官问的问题比较开放,比如估算北京四环内有多少便利店,如果让你做小冰的某个具体功能,你会怎么做?全程大脑洞,考察思维能力。

总结:尽力了。。。没有遗憾。一周后收到Thank you letter。

  最后当然是去鹅场了,揭露一个比较严酷的事实,Android,IOS的小伙伴们,腾讯一个事业群里只有三个Android岗位,IOS也类似,但是后台有六七十个,二十倍的比率。阿里的更惨,因为腾讯的业务很多是以客户端为入口的,比如新闻在的OMG网络媒体事业群,就这样才收三个Android,其他的事业群可想收的也不会多了。所以客户端的小伙伴们面临的竞争是后端的很多倍。

推荐一个Java架构群909723834,群里有资料,可以自行下载观看,里面都是同行,相互帮助相互学习(面试资料和学习资料)

上一篇下一篇

猜你喜欢

热点阅读