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...

© 刘口子 2018-2025