阿里Java研发工程师实习面经,附面试技巧
作者:如何进阿里
链接:https://www.nowcoder.com/discuss/72899?type=0&order=0&pos=17&page=1
来源:牛客网
前言
十分幸运 拿到阿里云的offer,感谢周围无数人对我的支持和鼓励,所以写篇面经希望可以帮助大家。
面试中,运气占很大一部分的,所以你们若是没有通过,一定不要气馁,继续加油。
一个学习技巧分享
每个努力的人 都值得钦佩,无论结果如何。我说点面试中的小技巧,可以帮助你更好发挥:
完全可以将学到的知识讲给自己(或者讲给别人),若是自己(别人)听你的讲述 能够听懂(使用自己的话去讲,而不要有专业术语),那么说明 你已经学好了。其原理就是 费曼学习法。感兴趣的人可以去了解下。
我个人习惯于 将一个知识点 分解为 xxx是什么,xxx有什么用,如何实现这个功能的(核心的工作流程),缺点是什么(以及为什么有这个缺点,缺点如何补救)。
举个例子: CMS垃圾回收器回收时为什么有内存碎片 , 首先分解为CMS是什么,内存碎片是什么?CMS垃圾回收器有什么用和Serial ParNew Parallel 等比较,优势,CMS是如何工作的,来实现尽可能降低响应时间的,为什么CMS有这个缺点,它是如何取舍的,如何补救这个缺点。
这些子问题都回答好,那么基本上这个问题就学的可以了。
这样可以检测你是否学好,而且,若是你都没法条理清晰地讲给自己,那怎么条理清晰地讲给面试官呢?
接下来就写下三次面试题目:
阿里一面:
1.个人介绍
2.项目介绍,项目介绍首先讲最好的项目,因为后面的项目可能都没时间去讲。
3.数据库 联合索引 用法
4.Spring IOC初始化过程
5.ConcurrentHashMap实现原理
6.CAS操作
7.ReentrantLock和Synchronized区别
8.CMS垃圾回收过程
9.Full GC次数太多了,如何优化。
10.直接内存 如何 管理的
11.线程池 参数。
线程创建的过程。有几种方法。
线程资源如何回收的。
一个题目:如何将一个二叉树,转为有序的双向链表。
阿里二面
1.自我介绍
2.项目介绍
3.堆和栈介绍
4.线程安全
5.乐观锁悲观锁
6.TCP三次握手
7.socket通信有关,select epoll
8.项目中的难点有哪些
我答得是:使用一个组合的设计模式 去解决文章多级分类的问题。
交叉面
1.自我介绍
2.项目介绍
3.做这个项目的动机
4.TCP UDP IP ICMP
5.知不知道一个应用层协议,运输层既没有使用TCP,也没有使用UDP
6.二叉树中求最长路径。
递归的方式去实现。
先求左子树深度,后求右子树深度。相加减一,那么就是以当前结点为转折点的解。
然后递归求左子树的解,和右子树的解。返回当前解,左子树解,右子树解中最大的解。时间复杂度为O(n*logn)
其实可以优化到O(n) ,其实不必求两个子树的解,只需要求较深子树的解即可。
7.有什么想问我的吗?
//您觉得成为一个顶尖高手,最重要的是什么呢?
兴趣。做自己感兴趣的事,就不会很疲惫,也会很开心。 //这一点我深有同感。
抓住你的兴趣,做你想做的事,自己驱动自己进步。
//很感谢您的建议。
HR面试
1.自我介绍。
2.项目介绍。项目中难点。得过啥奖没。
3.项目有什么不足?
4.前面的面试 发挥怎么样?
5.前面的面试难度怎样?
愿大家都能拿到自己理想的offer!
欢迎关注我的微信公众号:“Java面试通关手册”(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取):
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SAP Netweaver和Hybris的数据库层
ABAP Netweaver 在SAP基于Netweaver的ABAP应用里,应用开发人员用Open SQL访问数据库, 这些Open SQL会被Database interface(数据库接口)转换成各种数据库提供商支持的原生SQL语句然后执行。 Netweaver 支持的数据库提供商在表DBCON的DBMS字段里能看到: 除了普通的ABAP Open SQL的语句用于业务数据的增删查改之外,SAP CRM和C4C里还支持Enterprise Search(有时也成为simple search,模糊搜索), 就是类似Google搜索一样,用户只需要指定待搜索值,而无需指定该搜索值对应的搜索条件。 在这两个产品里的Enterprise Search实现原理实际上是应用程序发起一个RFC(Remote Function Call)到TREX服务器上拿到查询结果。 关于SAP TREX介绍请参考wikipedia. https://en.wikipedia.org/wiki/TREX_search_engine Hybris Hybris里也有和CRM WebUI里的API层起同样作用的层...
- 下一篇
有了这份人工智能思维导图书单,年薪百万不是梦
点击关注异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书 ——异步小编 1956年,人工智能诞生于IBM在达特茅斯学院(Dartmouth College)举行的一次研讨会上。麦卡锡首次提出了“人工智能”这一术语。它是人工智能历史上的一个重大里程碑。纽厄尔、萧伯纳和西蒙开发了一个叫作“逻辑理论家”的推理程序。它被用于自动定理证明,推动了第一个列表处理语言——信息加工语言的开发。乔姆斯基的生成语法理论影响了自然语言处理。1958年,罗森布拉特发明了感知器。约翰•麦卡锡开发了LISP和人工智能编程语言。 人工智能大潮来了。AlphaGo击败围棋大师李世石后,人工智能的应用仿佛一夜之间遍地开花。在科技潮流的大环境中,现在硅谷的用人单位越来越倾向于雇用既懂理论(思考者)又懂编程(执行者)的工程师。思考者的日常工作是阅读文献以求产生思路,而执行者则是编写代码来实现应用。但是要成为一名真正的工程师,学习机器学习是将思考者和执行者相结合的最快途径。 人工智能的研究包括从数据到知识,从学习到推理。新一代人工智能已经上升为国家战略,其覆盖的范围也...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路