阿里淘天 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 广东

相关推荐

面试时长1小时10分钟左右。上来电脑直接死机了😅,钉钉卡死了退出,然后听不见面试官声音。。搞了好久,终于恢复正常。上来问你觉得最有成就的一个事情。嗯,我答了实习的一段工作,帮客户省钱巴拉巴拉。然后基本是按照简历问的,先问实习,然后问项目经历。看得出来我经历写的和实际客户端做的不搭边,我说的面试官不是很了解,然后有个技术栈面试官还去现搜了一下😋。嗯主要其实对写的ai项目经历比较感兴趣(其实很水)。然后拓展问了问还接触过什么ai相关的东西,忽然问了我知不知道browser-use,看过这个开源项目,但是没上手玩过(当时看了感觉印象不好所以没玩)。还聊到MCP之类的。客观感觉,今年面试官很喜欢ai相关的项目,哪怕就是和部门实际做的事情不相关。然后一个手撕,用的阿里的代码平台(面试中给我发了一个邮件跳转平台链接),没有代码补全的。链表题,要把链表小于x的都放在大于x的前面,然后什么相对顺序不变。不知道是不是我想简单了,把小的拿出来放前面,然后其他的相对位置不变放回去就OK了。大概8分钟。最后还尝试问问我做过c相关的项目吗(估计部门主要写c)。问了知道c++11新特性吗,new和malloc的区别,智能指针。嗯随便答,不知道就说不知道了,一点都不挣扎。最后最后,问有什么深刻的debug经历或者解决问题的经历。说了一个线程进程的东西。感觉我不是很贴近他们的业务,但是还是没挂我。不知道到底要干啥了。#牛客AI配图神器#
查看12道真题和解析
点赞 评论 收藏
分享
04-12 11:27
已编辑
门头沟学院 Python
40分钟自我介绍,和一面说的基本一样,感觉都要会背了。问我想就业还是考研,我当然说就业😠,然后说所以在找暑期实习。就问我有没有offer😅。有的话我就不来面了。项目相关,没深入问了,估计前两面该问的都问完了。知道微调相关的哪些东西,实现原理。做过哪些ai相关的事情。(扯皮怪累的😇)问了知道哪些设计模式,我说好像在springboot里看到过工厂模式。(根本不会)c++面向对象的特性(我的天根本没听过),后来说是继承多态封装,然后我解释了一下继承,但是多态忘记了😓。(谁懂那种一说出来感觉会,让自己说就不会的痛苦)tcpudp协议的区别。答了一个面向连接,有三次握手和四次挥手,拥塞控制...,一个只管发,还有端口什么的。怎么改进UDP协议让它保持效率的同时具有稳定性。我理解就是当前视频会议的协议怎么实现的。说了自己的思路,udp报文加上序号防止乱序,加上超时重传巴拉巴拉,然后面试官说这是一种思路,还有吗。想不出来了。从浏览器输入网址到访问网站发生了什么。了解浏览器是怎么渲染页面的吗。然后问了啥忘了,想起来再补。最后来了一道算法题,说假设有2^n+1个数字,其他都是两个一样的一对,怎么找那个单个的。这次没有发笔试链接。我就口述,直接遍历计数了😭,感觉方法很low,问我时间空间复杂度,我说遍历嘛On,空间也是On。over,反问,最后算法有没有什么好方法,位运算,我瞬间反应过来了,所有去抑或一下就剩下那个单个的了。说完以后,他还问,要是有两个不一样的单个的怎么办😭。(赖皮啊,都反问环节了还要问),我想了一会没想到。反问,我面试咋样是很差还是差。说还可以更好😭。基本寄。
查看26道真题和解析
点赞 评论 收藏
分享
1.自我介绍2.实习拷打3.mq如何能解决流量毛刺问题的4.mq如何实现数据从客户端到broker集群的5.mq发数据是用了什么协议,是怎么保证不丢数据的6.tcp是如何建立连接的,socket只是表层表现,底层原理呢7.broker集群是如何保证exactly one语义的8.broker集群是如何保证不丢数据的9.一个topic下有多个broker的实例,如果一个主broker挂了,是怎么切换的10.通过ISR水位线就能保证数据不丢失吗11.ack除了0,1,-1三种不同的确认的方式,如果想要保证数据不丢失,你能另外考虑比较好的实现方式吗12.wal为啥会有这种策略,为啥要先写日志呢13.broker是如何把message持久化的14.零拷贝是什么东西15.零拷贝和mmap还有sendfile关系是什么16.零拷贝解决了什么核心问题17.那你觉得为啥要有内核态和用户态区分呢18.操作系统是如何实现对内核态和用户态的区分19.你觉得可能是在页表上实现,那现在请完整考虑3种需要:1.感知到还没被分配的内存空间大小 2.申请满足需要的内存空间 3.用户态程序没法申请内核态的空间 假如你要设计并且实现这样的一个系统,你会如何实现呢20.页表的是解决什么问题21.页表最大能存多少页,每页大小是多少22.分页和分段有啥区别呢23.为啥分段会有内部碎片的问题,但是分页没有呢,你说分页大小小,分段也可以分段的很小也是几KB啊,那是为什么呢24.二级页表是解决什么问题的,它的原理是怎么样的25.讲讲java的gc26.图用什么数据结构存27.想要遍历图的所有节点如何遍历28.讲讲非递归遍历代码怎么写
查看28道真题和解析
点赞 评论 收藏
分享
评论
14
58
分享

创作者周榜

更多
牛客网
牛客企业服务