2019 春招凉凉面筋
status
category
date
summary
slug
icon
tags
password
为了暑假不再咸鱼,想找一份实习充实自己,也是个学习的机会。于是投了几家,都因为太菜被挂掉了。第一感觉是准备面试非常累,复习知识是一方面,另一方面是心理压力,所以即使挂了也没有想继续找实习了。在此记录一下问题,方面以后自省。
字节跳动Android实习生
一面
- 简单做个自我介绍
- 挑了简历上一个项目,小组分工合作是怎么做的?这个idea是怎么想出来的?
- 挑了另一个项目,这个项目从零开始是怎么构建的?有哪些技术点?
- 为什么使用Fragment?它有什么优势?
- Fragment怎么和它的宿主Activity交互?
- Fragment生命周期,Activity生命周期,它们之间的对应关系?
- 本地的缓存以及数据库是怎么实现的?
- RecyclerView和ListView有什么区别?
- 有没有用过Android特有的集合?
- 什么情况下会用到Service?
- Service有几种注册方式?有什么区别?
- Service是运行在主线程吗?
- 自定义的ImageLoader的三级缓存怎么实现?
- LRU缓存怎么实现?
- 了解过单例模式吗?为什么要用单例模式?
- 算法题:实现一个栈,数组怎么实现?链表怎么实现?
- 有什么问题要问我吗?
- 你今天还有时间吗? (约45分钟,等了二十分钟左右,紧接着二面)
二面
- 简单做个自我介绍
- 你简历上这些项目,是怎么开始做的呢?为什么要做呢?
- 在项目中遇到过什么难点?是怎么解决的?
- 你是怎么学习Android开发的?
- 你是怎么学习数据结构和算法的?
- 数组和链表有什么区别?
- HashMap的结构?
- HashMap给一个key,怎么找到对应的value?
- 除了Glide,用过哪些开源框架和库?
- 了解过注解吗?
- 了解过反射吗?
- 学习过程中有看过Android源码吗?举个例子
- 有了解过哪些设计模式?
- 自定义的ImageLoader的三级缓存怎么实现?
- LRU缓存怎么实现?
- 自定义View怎么实现?
- RecyclerView的回收复用机制是怎么实现的?
- 进程和线程有什么区别?
- Handler、Looper、MessageQueue的关系是什么?
- 算法题:求树的第n层节点个数
- 可以开始实习的具体日期?
- 有什么问题要问我吗? (约50分钟)
三面
- 自我介绍
- 算法题:数组去零
- 问项目,几乎不问技术点,只是问项目实现和需求目的,一直问…… (约40分钟)
emmmm,就是这一面感觉非常奇怪,什么也没问,感觉就是自己算法题没写出来,面试官就很不耐烦了。
四面(补面)
- 自我介绍
- 算法题:单链表奇数偶数分开,例如1 2 3 4 5 6修改为1 3 5 2 4 6
- 写一个单例模式
- synchronized有什么作用?修饰静态和非静态方法有什么区别?
- 怎么理解锁的概念?
- LruCache是怎么实现的?
- HashMap的底层实现?有什么优缺点?
- HashMap是线程安全的吗?会造成什么后果?
- 了解过SparseArray和ArrayMap吗?
- 什么是内存泄漏?什么情况下会发生?
- AsyncTask会造成内存泄漏吗?怎么解决?
- 什么样的对象会被回收?GC链是如何形成的?
- 了解过哪些Android内存优化方式?
- 了解过哪些图片压缩方式?
- HTTP和HTTPS有什么区别?
- 有什么问题要问我吗? (约70分钟)
四面挂,给了邮件答复
字节跳动iOS实习生
因为笔者有转iOS的想法,刚好HR问到,就去试试
一面
- 自我介绍
- 为什么从Android转iOS
- 目前上过哪些课
- 目前学习了iOS哪些知识
- 知道哪些排序算法
- 冒泡排序的时间复杂度是多少?是否稳定?
- 快速排序的时间复杂度是多少?是否稳定?
- 二分查找的时间复杂度是多少?
- 二分查找
- 旋转数组的二分查找 (约55分钟)
一面挂,无答复
搜狐Android实习生
一面
- 自我介绍
- Activity生命周期
- Activity启动模式
- Service生命周期(上面三个问题都比较详细,都有详细的场景分析)
- Handler使用场景,如何解决内存泄漏,扯到四种引用,垃圾回收。
- 事件分发,从A按下,滑动到B再抬起。
- 自定义view,measurespec,控件的具体大小是什么时候确定的?
- 有什么问题
(36分钟)
一面挂,无答复
总结
2019春招结束,虽然没有offer,但是收获还是很大。首先是对之前学过的知识有了一个系统的复习,更重要的是,对面试有了一个基本的认识,比如知道了面试官会问什么,怎么问,以后可能会从容一点。另外,关于最后一个问题应该问什么,之前也有看到过文章说可以让面试官评价一下什么的。我觉得这个问题没有必要,也不该问,因为面试过后,自己对刚刚回答不出来的感受会非常深刻,自己对面试情况也会有所了解,不太需要别人的评价。最好还是问一问岗位相关的问题,技术方面的也可以。例如第一面面试官问了很多Android fragment相关的,所以我就问了Activity和fragment的应用场景选择。
关于面试,知道了大公司尤其是字节跳动非常看重计算机基础,比如数据结构、算法、计算机网络这一块,虽然是自己学艺不精,但还是产生了一些困惑:太过于关注一两个问题,尤其是算法题的答案是不是过于应试了?对于在写算法时是否关注并考察思路、过程、交流等环节,也持怀疑态度。
另外对于公司的招聘流程,有惊喜也有失望。人生的第一次面试交给了字节跳动,HR从内推简历不到2小时就打电话约面试时间,真心觉得效率高,而且三面表现不好之后还有补充面试,挂了也会及时给邮件答复。但是第二次和第三次面试,虽然面完自己就知道挂了,但是短信、邮件答复都没有,印象分真的很低。也可能是因为自己在学生工作中遇到了类似这种冷处理,十分反感,所以有些情绪。
Loading...