【阿里巴巴】闲鱼技术部2021实习生内推

目标岗位:

iOS/android/flutter/服务端java/架构/前端/测试开发/数据&算法

面向人群:

2021.11-2022.10 毕业的本科、研究僧、博士(发实习offer,实习结束提供转正答辩)

投递方式:

jinchang.ljc@alibaba-inc.com
欢迎交流

面试流程

一面:
1.先介绍一下自己

2.介绍自己认为做的有难度的项目
3.项目中遇到的问题,怎么去解决的,中间会进行提问
4.针对性的问面试岗位的要点问题
5.介绍当前的工作内容以及岗位
二面:
1.先介绍自己
2.介绍自己的项目
3.针对项目提出延展性问题
4.假设场景,针对场景做出设计
5.介绍当前团队
三面(基本就是HR面试了):
1.介绍自己
2.介绍自己的一些项目
3.个人的特质
4.问题应变和解决能力
5.介绍当前团队


下面针对各个岗位收集了一波资料,大家可以看看

JAVA要点

1.计算机基础
1.1计算机原码,反码,补码
1.2 网络 TCP HTTP
1.3 Linux指令
2.JAVA基础
2.1 JDK 常用类源码
2.2并发编程
2.3JVM GC 内存结构
2.4 sql 索引优化等
3.算法基础
3.1数据结构
3.2牛客算法题
4.框架源码基础
4.1 spring
4.2 mybatis
4.3 Tomcat
5.项目基础
5.1 分布式
5.2 有困难点的项目解决方案
6.论文基础
6.1描述自己解决的问题 由广入深

IOS要点

iOS中有哪些设计模式,举出两个例子
property有什么作用
事件传递和响应链
ARC下,有哪些对象被加入了自动释放池中
子线程中如何管理对象的生命周期
如果使用Category添加了和基类一样的方法名的方法后,调用该方法,执行的是Category中的代码而不是基类的代码
• 属性修饰符
    • 有哪些属性修饰符
    • assign和weak区别
    • assign在MRC和ARC
    • copy的用法
• autoReleasePool
    • autoReleasePool在什么情况下使用
    • 什么对象会加入autoReleasePool
    • autoReleasePool在什么情况下释放
• RunLoop
    • RunLoop三种模式的区别
    • 在什么情况下使用RunLoop
• Delegate、Block、Notification的区别
• 一个被放入到@autuReleasePool的对象,当自动释放池调用drain方法时,一定会释放吗
• @aotuReleasePool的嵌套使用,对象内存是如何被释放的
• 关于block的
    • 在Masonry的block中,使用self,会造成循环引用吗
    • 那如果是在普通的block中呢
    • 那在普通的block中只使用下划线属性去访问,会造成循环引用吗
• 你了解哪些iOS底层知识
• AFNetworking2.0和3.0的区别
• automic一定是线程安全的吗
• iOS中的消息传递是怎么一步一步实现的
• category和extension有什么区别
• iOS中的私有属性如何设置
• 串行队列和同步锁两者在保护线程安全上的性能对比
• 并行队列是同时执行的吗
• iOS中有哪些锁,你了解多少
• iOS中UIKit框架的架构
• UIView和CALayer之间的关系
• UIView、CoreAnimation和CoreGraphics的关系
• 应该知道SegmentFault,这个在iOS中是什么错误,那StackOverFlow呢
• GCD、NSThread、NSOperation性能上有何区别
• 如何理解运行时
• 运行时可以做什么
• UIViewController的生命周期
• loadView在什么时候执行,一定会执行吗
• 如何解决死锁问题
• 多个线程同时访问一个资源应该注意什么
• 锁的原理是什么
• 函数参数传入的一般是什么
• 如果传入一个对象,函数中做一些改变操作,如果不想改变原对象,该如何
• iOS有几种复制
• 什么行为能够产生深复制
• 复制的应用

前端要点

一、JavaScript

1. 原始值和引用值类型及区别

2. 判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor

3. 类数组与数组的区别与转换

4. 数组的常见API

5. bind、call、apply的区别

6. new的原理

7. 如何正确判断this?

8. 闭包及其作用

9. 原型和原型链

10. prototype与__proto__的关系与区别

11. 继承的实现方式及比较

12. 深拷贝与浅拷贝

13. 防抖和节流

14. 作用域和作用域链、执行期上下文

15. DOM常见的操作方式

16. Array.sort()方法与实现机制

17. Ajax的请求过程

18. JS的垃圾回收机制

19. JS中的String、Array和Math方法

20. addEventListener和onClick()的区别

21. new和Object.create的区别

22. DOM的location对象

23. 浏览器从输入URL到页面渲染的整个流程(涉及到计算机网络数据传输过程、浏览器解析渲染过程)

24. 跨域、同源策略及跨域实现方式和原理

25. 浏览器的回流(Reflow)和重绘(Repaints)

26. JavaScript中的arguments

27. EventLoop事件循环

28. 宏任务与微任务

29. BOM属性对象方法

30. 函数柯里化及其通用封装

31. JS的map()和reduce()方法

32. “==”和“===”的区别

33. setTimeout用作倒计时为何会产生误差?


二、ES6

1. let、const和var的概念与区别

2. 变量提升与暂时性死区

3. 变量的结构赋值

4. 箭头函数及其this问题

5. Symbol概念及其作用

6. Set和Map数据结构

7. Proxy

8. Reflect对象

9. Promise(手撕Promise A+规范、Promise.all、Promise相关API和方法)

10. Iterator和for...of(Iterator遍历器的实现)

11. 循环语法比较及使用场景(for、forEach、for...in、for...of)

12. Generator及其异步方面的应用

13. async函数

14. 几种异步方式的比较(回调、setTimeout、Promise、Generator、async)

15. class基本语法及继承

16. 模块加载方案比较(CommonJS和ES6的Module)

17. ES6模块加载与CommonJS加载的原理

三、HTML/CSS

1. CSS权重及其引入方式

2. <a></a>标签全部作用

3. 用CSS画三角形

4. 未知宽高元素水平垂直居中(方案及比较)

5. 元素种类的划分

6. 盒子模型及其理解

7. 定位方式及其区别(文档流)

8. margin塌陷及合并问题

9. 浮动模型及清除浮动的方法

10. CSS定位属性

11. display及相关属性

12. IFC与BFC

13. 圣杯布局和双飞翼布局的实现

14. Flex布局

15. px、em、rem的区别

16. Less预处理语言

17. 媒体查询

18. vh与vw

19. H5的语义化作用及语义化标签

20. Web Worker和Web Socket

21. CSS3及相关动画

22. 如何实现响应式布局

23. SEO的概念及实现

24. HTML5的新特性

25. Less和Sa***

四、HTTP与计算机网络

1. TCP/IP协议分层管理

2. 三次握手四次挥手机制及原因

3. HTTP方法

4. GET和POST的区别

5. HTTP建立持久连接的意义

6. HTTP报文的结构

7. HTTP状态码

8. Web服务器及其组成

9. HTTP报文首部

10. HTTP通用首部字段

11. HTTP请求首部字段、响应首部字段、实体首部字段

12. Cookie相关首部字段

13. HTTPS与HTTP区别及实现方式

14. Cookie与Session

15. 基于HTTP的功能追加协议(SPY、WebSocket、HTTP)

16. 常见的Web攻击分类

17. TCP与UDP区别

18. 存储机制localStorage、sessionStorage与Cookie存储技术

19. XSS攻击及防御

20. CSRF攻击及防御

五、前端工程化

1. 前端工程化的流程(架构选型、业务开发、测试、打包构建、部署上线、项目监控)

2. Webpack基本概念与配置

3. loader与plugin原理与实现

4. Webpack的模块热替换及实现

5. Webpack的优化问题

6. SPA及其优缺点

7. SSR实现及优缺点

8. 设计模式(工厂模式、单例模式、原型模式、***模式、适配器模式、观察者模式等...)

六、React

1. React自身特点及选型时考虑

2. React与VUE的异同

3. Virtual DOM

4. React生命周期

5. Diff算法

6. 受控组件与非受控组件

7. 高阶组件

8. Flux架构模式(涉及MVC/MVVM、Flux)

9. Redux设计概念、设计原则、方法、redux实现异步流的库

10. 纯组件(Pure Component)与shouldComponentUpdate关系

11. Redux中的<Provider/>组件与connect函数

12. React Fiber架构

13. React Hooks的作用及原理

七、NodeJS

1. NodeJS基本概念与特点

2. CommonJS规范、核心模块

3. Node的异步I/O

4. Node的内存控制

5. Node构建网络服务(TCP、HTTP、Web Socket服务等)

6. Node的进程

八、需要会手撕的代码部分

1. Promise(A+规范)、then、all方法

2. Iterator遍历器实现

3. Thunk函数实现(结合Generator实现异步)

4. async实现原理(spawn函数)

5. class的继承

6. 防抖和节流

7. Ajax原生实现

8. 深拷贝的几种方法与比较

9. 继承的几种实现与比较

10. 未知宽高的元素水平垂直居中

11. 三栏布局的实现

12. 两栏布局的实现

13. React高阶组件

14. 数组去重

15. 几种排序算法的实现及其复杂度比较

16. 前序后序遍历二叉树(非递归)

17. 二叉树深度遍历(分析时间复杂度)

18. 跨域的实现(JSONP、CORS)

九、数据可视化

1. Canvas和SVG的区别

2. 在考虑设计可视化图表时,结合Canvas和SVG特性会怎么取舍

3. 常见的可视化组件库

4. 可视化组件库如Echarts的设计思路

5. 一些偏向底层的可视化组件库和前端框架结合方面需要考虑哪些问题

6. 可视化组件如何做到数据驱动?

十、计算机基础

1. 计算机系统

2. 线程与进程

3. 常见的git指令

4. Linux相关指令

5. 其他类型的编程语言(如Java)

6. 数据库



网络基础

HTTP报文格式
https的加密过程
• 响应码有哪些
• TCP和UDP的区别
• TCP如何保证可靠传输,分别有哪些机制
• 简要说明下用于交换网络的设备,从物理层往上进行叙述
• TCP和UDP的区别
• TCP三次握手的过程和为什么要三次握手
• http和https的区别
• https的加密过程
• 有了解过中间人攻击吗
• https能防止中间人攻击吗
• session和cookie
• https的加密过程
• 如何防止https的证书被篡改
• 有了解过对称加密和非对称加密吗

#三月我想对你说##阿里巴巴##实习##内推#
全部评论
欢迎大家投简历,收到简历火速内推,帮忙跟踪面试进度
点赞 回复 分享
发布于 2021-03-12 10:05

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
11-22 16:49
已编辑
北京邮电大学 Java
美团 质效,测开 n*15.5
点赞 评论 收藏
分享
点赞 3 评论
分享
牛客网
牛客企业服务