阿里淘天 24秋招客户端简历面

牛客上投递的,集团还没开系统,被部门老哥提前约面。

约下午16点,老哥开会到17:30,然后电话面的

面试内容如下:

  1. 项目里面说到Kotlin,你认为Kotlin和Java的区别是什么?
  2. Kotlin更简洁,加入了可空类型,扩展函数,Lambda表达式等
  3. Kotlin减少空指针异常,引入了空类型;
  4. Kotlin有扩展函数
  5. 有协程!
  6. 说到Kotlin协程,你使用协程过程中,它的优缺点?
  7. 优点:
  8. 轻量级,就是一个简单化的线程
  9. 方便操作,实现Callback功能,有async,await等操作符号
  10. 以声明的方式处理协调顺序,避免传统的回调地狱
  11. 缺点:除了和老版本的代码或者框架有兼容问题,自己没感觉有啥缺点
  12. 协程实现callback功能的原理:
  13. 先说一下协程的好处:
  14. Android通常会将耗时操作放到子线程中,然后通过回调的方式将结果返回后切换主线程更新UI,如果现在有多个子线程并发操作,UI线程在所有子线程工作完之后,处理他们的回调。
  15. 传统方法会在子线程设一个boolean值,1,0判断,但是这样去写会有回调地狱问题
  16. 可以用retrofit+Rxjava解决,Rxjava中还有Zip操作符
  17. 但是Kotlin协程就不用这么麻烦~
  18. 原理是kotlin可以实现挂起操作,等待结果过程中,运行lamada中的代码,等调用完成了,直接再恢复执行,然后调用。
  19. Java常见集合类
  20. ArrayList,Hashmap,hashset,linkedlist等
  21. 那线程安全的有哪些?
  22. ConcurrentHashMap,CopyOnWriteArrayList(读的时候不加锁,写的时候加锁),包括跳表等
  23. 详细说一个实现原理:
  24. 跳表Skip List通过锁和CAS实现
  25. 说到CAS,详细说一下原理
  26. 保证原子性,先比较内存值与预期值,一样的时候才操作
  27. 锁和CAS区别
  28. 锁基于互斥,CAS基于比较
  29. 锁能阻塞,CAS非阻塞
  30. 锁是悲观锁的机制,CAS是乐观锁的机制
  31. CAS比较发现失败了怎么办?
  32. 先重试,重试达到一个阈值之后获取锁来互斥访问
  33. 了解锁升级的过程吗?
  34. 偏向锁,一个线程访问,其他线程竞争,升级轻量级锁
  35. 多个线程竞争,没抢到锁的线程开始自旋,超过10次之后就要爆炸了!锁升级为重量级锁
  36. 重量级锁的时候,线程就不会再循环干等了,会挂起等待
  37. HashMap的get方法时间复杂度
  38. 平均是O(1),最坏的时候是O(n);
  39. O(n)的时候是大量的键值对都映射到同一个桶里面,形成长链表或不平衡的红黑树
  40. 怎么减少这种情况?
  41. 哈希函数要设计好
  42. 当负载因子超过一定阈值的时候,进行扩容操作重新调整桶数量和分布
  43. 怎么设计一个好的哈希函数
  44. 根据键的特性做对应的哈希值;
  45. 取模运算,加一点位运算,异或等操作
  46. 散列变换
  47. Https的证书校验流程
  48. 检验基本信息:证书所有者、有效期等信息进行一一校验
  49. 校验 CA 机构
  50. 解密证书:取出 颁发者 CA 的公钥,然后对服务器发来的证书里面的签名进行解密
  51. 比对 hash 值:浏览器使用相同的 hash 算法计算出服务器发来的证书的 hash 值,对比校验
  52. 使用OkHttp证书校验流程
  53. 获取服务器的数字证书,可以通过浏览器访问该服务器并查看证书信息,或者通过 OpenSSL 工具获取证书信息。
  54. 将数字证书添加到 Android 应用的资源文件中, raw 目录下的文件
  55. 创建证书工厂,将证书添加到该工厂中,以便 OkHttp 进行证书校验。
  56. 将证书工厂添加到 OkHttp 客户端中,并使用该客户端进行 HTTPS 请求。
  57. 使用TrustManager进行证书校验,使用 hostnameVerifier 进行主机名验证
  58. 说到自定义证书校验逻辑,使用的是哪种级别的校验?
  59. 不了解,只是简单看过同事代码

反问:了解部门;了解秋招流程。

问完后要拜拜,结果手一抖我先挂的电话,不知道面试官在对面是不是已经偷偷骂我了

#Android面经##阿里##淘天##秋招面经##秋招#
面试集合专栏 文章被收录于专栏

个人的面试集合,具有时效性

全部评论
请问简历面是什么呀
点赞 回复 分享
发布于 2023-08-25 21:07 北京
简历面这么顶
点赞 回复 分享
发布于 2023-08-17 17:07 湖北
m
点赞 回复 分享
发布于 2023-08-16 14:50 广东
m
点赞 回复 分享
发布于 2023-08-16 08:31 四川
这么顶
点赞 回复 分享
发布于 2023-08-15 23:34 湖北
m
点赞 回复 分享
发布于 2023-08-15 22:06 陕西
点赞 回复 分享
发布于 2023-08-15 16:02 辽宁
牛客在哪能投啊,老哥,我也是客户端
点赞 回复 分享
发布于 2023-08-15 11:07 北京
佬 我好像也投了淘天,但是当初投的早简历没写好就投了,估计挂了😵
点赞 回复 分享
发布于 2023-08-14 21:37 广东

相关推荐

05-30 17:32
已编辑
四川大学 C++
bg27届双9,投的是引擎开发,但是被天美客户端捞起来面了。开局手撕三道:1、链表指定区间反转2、和等于k的组合3、最长回文串没什么难度,30min不到写完。之后正式面试环节:1、本硕都是学计算机,为什么想学图形做游戏不去做现在很火的ai。2、你觉得应聘引擎开发需要什么样的能力,你觉得你哪一种能力比较突出。3、讲一下多态。4、构造函数可不可以调用虚函数。5、你说只能调用到当前层级的虚函数实现,为什么?(有点不懂了,扯了些虚函数表)6、你提到虚指针和虚函数表,具体讲一下。7、派生类重写了虚函数,虚函数表是什么样的。(到这里面试官还笑着引导说可不可以回答刚才的问题了,但是还是没太理清)8、new分配的内存可不可以free释放。9、说到内存,静态全局变量和只读的全局变量分别在内存空间的那一部分?10、他们的初始化顺序?11、四种cast。12、线程间通信方式,分别什么场景用。13、平时多线程有接触吗(没有)14、介绍一下简历上的项目。后面几个项目相关的问题。15、设计模式了解多少(说了单例和工厂)16、你写代码题时用了很多vector,为什么(说用习惯了。。)17、你知道清除一个vector最快的方法是什么吗?(还真不太了解,说平时都是调用clear,面完马上上网了解了一下)18、实习时间。19、反问(哪个项目组,天美j1宝可梦)总体来说面试体验非常好,面试官很友善,会由浅入深引导,开局会闲聊一会非技术问题放松很多
查看18道真题和解析
点赞 评论 收藏
分享
评论
14
59
分享

创作者周榜

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