阿里 新零售 后端开发 一面(暑期实习)

【技术】2021-0302-阿里一面-新零售-48min

一面 48min

面试官感觉非常友好,不会的会进行引导,就是太菜了,写的项目啥的被问到底了

上来先自我介绍一下,可能因为介绍里面提了一下项目,然后就开始问项目用到的框架和中间件了

项目

  1. 项目的用途是什么?
  2. 项目的主要使用人群有哪些?
  3. 项目中的登陆校验功能怎么实现的?
    1. 我说了前端用了MD5加密,后端也是MD5加密,然后就问MD5加密的好处
    2. 前面我说了防止抓包,从而信息泄露,然后就问我用哪些抓包工具?
    3. 前端是加密的,后端的是明文的,这种怎么实现?(我说是前端传递过来用户名,然后后端通过用户名比较,然后再加密后端的明文,跟前端传送过来的密文进行比较)
    4. 然后面试官说不用用户名怎么搞,后面发现说token怎么实现
    5. 最终才发现是在扯对称加密的问题 公钥私钥?
    6. 对称加密和MD5加密这种非对称加密的区别?

框架和中间件问题

SpringMVC、Nginx、Spring、Redis、Netty、HDFS

  1. 介绍一下SpringMVC(我说了比servlet容器更好,主要进行操作是从类级别改到了方法级别的方法处理请求,然后再讲了一下MVC架构。)
  2. Nginx有了解过吗?Apache呢?(Apache是什么年代的东西,没有了解过)
  3. Nginx为什么性能这么高?(我说了是异步IO框架,NIO,select.epoll原理,我嘴瓢说了等待函数回调,后面面试官纠正我了)
  4. 同步和异步的区别?
  5. 阻塞和非阻塞的区别?(后面发现自己在瞎BB,还好没纠着问)
  6. Spring框架的作用(我说的是SpringMVC的,然后面试官给我纠正说了一下是Spring使用到的依赖那些)
    1. IOC
    2. AOP
  7. 问我项目中的Redis用来干嘛?
    1. 其实我是把Redis当做数据库用的,后面说里面存储什么数据,有点尴尬
  8. 怎么处理Redis宕机的情况?(我说了持久化策略,RDB和AOF,这两个的介绍)
  9. Redis读写速度很快,这是怎么做到的?
  10. Redis中的事件处理机制,我说放到事件队列里面,这样有什么好处?
  11. Redis为什么不用多线程去处理?
  12. 多线程上下文切换的具体操作。(切换消耗CPU资源)
  13. Redis中的数据有没有设置过期时间。
  14. Redis中的数据要是内存空间不够会怎么样?(内存淘汰策略)
  15. 前面提到的LRU是怎么实现的?
    1. 为什么LRU是双向的链表(答不出来...)
  16. 为什么用Netty?(我说的是为了接受Socket请求,然后文档比较多,面试官笑了下)
  17. Netty为什么性能高?(Reactor模式忘记了。。)
  18. Hadoop项目的介绍,为什么会有这个项目?
  19. 为什么要搭建这个项目出来?
  20. HDFS怎么存储数据?
  21. HDFS怎么做容灾?
    1. DataNode机子坏掉了怎么办?(我说了心跳机制,好像解析得不清晰,后面又问了一遍心跳机制)
    2. NameNode数据比较多,然后机子暂停处理比较久,超过了心跳等待的时间,怎么办?(我也不知道怎么办呀,瞎说再等一会)

Java

  1. 介绍一下 ConcurrentHashMap
    1. 1.7之前的是 分段锁
    2. 1.7之后的是 synchronized
  2. 为什么HashMap是数组+链表的形式(我说了哈希冲突)
  3. 数组+链表中的链表我改成list可不可以?(我好像说成了直接用整个数组来存储行不行,瞎搞)
  4. synchronized了解过吗?(资源竞争,说了下单例模式)
    1. 怎么用来限制锁的范围?
  5. hashcode方法和equals方法
  6. 介绍一下Java的类加载机制
    1. 类加载机制的过程
    2. 怎么加载一个类?(双亲委派模型)
    3. 双亲委派模型解决了什么问题?(安全)

算法

  1. 假设有10亿条数据,从里面选出最小的10条数据,怎么操作?(一开始说了堆排序,后面引导说内存会爆,我说把这些切分成多个小块,然后选举10个最小的)

反问

  1. 这次面试有哪些需要改进的?
  2. 你们部门的工作?(有点搞笑,面试官说让我想想,然后开始背诵了)
  3. 我进一步学习的话,需要学习哪一方面的知识?(面试官说项目还好,需要深入了解对应的知识,害,都问透了)
  4. 说了应该还会再联系(希望会)
  5. 问了GPA
  6. 有投其他部门吗?
  7. 有刷题吗?
#实习##面经##阿里巴巴##Java工程师#
全部评论
是电话面嘛
点赞 回复 分享
发布于 2021-04-01 11:48
点赞 回复 分享
发布于 2021-03-03 10:02
大佬啊
点赞 回复 分享
发布于 2021-03-03 00:34

相关推荐

01-04 07:53
门头沟学院 C++
心愿便利贴:工作了以后回头再看待这个问题,从客观的视角来讲是因为每个人对自己的要求不同,学习好的人对自己的要求很高,所以觉得考不好就天塌了,认为自己学习好并且值得一份好工作的人也是一样,找不到符合自己预期的工作肯定也会觉得是侮辱,牛客上有很多名校大学生,肯定会存在这种好学生心态啊,“做题区”从来都不是贬义词,这是大部分普通人赖以生存的路径,这个有什么好嘲讽的,有“好学生心态”没有错,但是不要给自己太大的压力了
点赞 评论 收藏
分享
2025-12-31 19:23
已编辑
门头沟学院 Java
ssob是已读不回的,字节是压根不敢投的,简历是反反复复改了N遍的,八股是永远背不完的😅😅😅扯远了,道心破碎了,把简历发出来让大伙先看看笑话。再说正事。寒假日常实习还是很难找,连个面试都难约,我不是个例,这是网上普遍反映。不报希望了,趁着2、3月前赶紧做些什么才是。扔几个碎碎念:1.这破简历还能怎么改?写到什么程度才能过实习岗筛选?广大牛友来锐评一下2.火速辅修go,是否可行目前看来是学习成本最小的。首先,很多go实习岗位已经明确要求掌握gin等技术栈,拿java简历投go的时代已经过去了。其次,很多后端的东西,MySQL、Redis这些都是通用的,不用重新学。所以这个问题就具体为:2.1 java&go混血简历怎么写第一个项目,仿大麦的微服务,不太好改。因为有用到Redisson、AOP、SpringAI这些java强相关的东西,包装成go需要替换这些方案。第二个,点评魔改。应该可以包装成go,github上也有人用go重写过。2.2 java&go通用的轮子RPC直接pass了,太烂大街了。不知道动态线程池能不能做。反正项目上新有风险,不一定来得及,非必要就不开新的项目。补充:别跟我扯RAG了,这玩意已经成新的烂大街了,详见我上一篇的吐槽。3.认真学微调prompt什么的这个半步踩进算法了已经。八股和场景题完全就是另一套,没两三个月搞不定的。约等于换方向
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
12
48
分享

创作者周榜

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