为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师。一面主要问题如下:1)首先自我介绍2)数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题3)对一个数组进行绝对值排 ...
为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师。 一面主要问题如下:
二面主要问题如下:
总体上来看,还是比较注重基础的 尤其是java的多线程和并发安全性及数据库相关,另外对有关开源框架的具体底层实现需要多阅读源码并进行总结。 下面是网上参考到的阿里java面试题目,同样作为借鉴。
######################################################################### 一面,主要注重基础,问得很深很广,压力面试。
这面没有准备好,广度和深度压力很大,建议大家多看看三大框架源码、原理,并发包。 二面注重于项目
也许是觉得一面已经问了很多了,这面又答得比较不错,20分钟就结束了,30分钟出了结果。 三面聊人生 leader人very nice,给了一些建议,可能是觉得技术差不多,这面基本没怎么问技术,主要是职业发展、IBM的实习内容之类,我想大家可能也都有自己的想法,18分钟。 hr面聊成长经历:聊了一下对B2B的认识和自己的技术成长历程。 ################################################################################### 1.Java基础 ArrayList,HashMap等集合框架类,重要基础类String等的处理。HashMap的底层存储结构等。 (也可以顺带考察下对接口,继承,重载重写的基本理解;以及异常处理的注意事项)。 2. 数据结构与算法 常见的查找算法及时间复杂度。 常见的排序算法及时间复杂度。 比较重要的数据结构,如链表,队列,栈的基本理解及大致实现。 3. 多线程问题 1)线程安全问题。 HashMap 是否线程安全,为何不安全。 ConcurrentHashMap,线程安全,为何安全。底层实现是怎么样的。 2)J.U.C下的常见类的使用。 ThreadPool的深入考察; BlockingQueue的使用。(take,poll的区别,put,offer的区别);原子类的实现。 4)各种常见锁使用 如果上面这些掌握很好,还可以看看更深一点的 False Sharing,Cache Line,可见性与原子性等; 4. JVM Java内存分代模型,GC算法,JVM常见的启动参数; CMS算法的过程。 这块回答较好,也可以只是看毕玄的Java分布式开发或网上文章的学习, 可以结合JVM启动参数常见配置,jstat等命令,看下动手能力,意愿;以及实际线上问题排查。 5.Linux使用与问题分析排查 1). grep,awk,sed; 是否自己写过shell脚本; 2). 常见的cpu load过高,us过高,一般是什么问题。引申出是否用过top,jstat,jstack等。 常见的内存问题一般有哪些。 引申出是否用过free,top, jmap等。 6. 框架使用 spring aop的底层实验原理。 aop与cglib,与asm的关系。 spriong ioc的生命周期,(init-method,intilizingbean接口方法afterPropertiesSet的先后顺序)等。 Hibernate对一二级缓存的使用,Lazy-Load的理解; 7. 数据库相关: 1. mysql存储引擎中索引的实现机制; 2.数据库事务的几种粒度; 3.行锁,表锁;乐观锁,悲观锁 8.网络协议: HTTP协议; HTTPS协议,SSL协议及完整交互过程; 9. redis redis,memcache底层客户端使用一致性Hash,看是否了解; redis的事件驱动多路复用底层实现;引申到NIO编程, 看对Netty,或mina是否了解。 如果候选者同时用过memcache,redis,看下是否了解两者在使用场景上的区别。以考察使用深度,以及是否有好奇精神。 10. 设计模式与重构 常见设计模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。 重构:重构书籍 11. 学习与进取心 最近上过上哪些技术站点; 最近在看哪些书。 12. 抗压能力及抗压意愿 了解加班情况,了解是否愿意在一段时间996等; 13 稳定性考察 了解家庭婚姻状况, 了解购房及居住地,籍贯情况,了解目前薪资,评估稳定性; ======= 1.进程和线程的区别 2.什么叫线程安全?举例说明 3.OSI七层模型,包括TCP,IP的一些基本知识 4.数据库的锁 5.DFS,BFS算法 6.还有一些诸如collection framework的Java基础 7、http中,get post的区别 其他的面试,感觉问的很有代表性: 第一面(只记得这么多了) 1、笔试题第四题实现又口述了下 2、有个每秒钟5k个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,比如5w,如何设计整个系统? 3、比较熟悉什么技术?我说jvm和oracle,就让我画jvm的体系结构,画了之后说各个部分的职责,并扯到运行期优化。 第二面(没有技术细节,都是泛泛的,但是我回答的比较保守,只觉得能滔滔不绝的说上半小时才敢说看过或了解) 1、是否愿意去杭州 2、熟悉各种技术框架么?源码读过么? 3、数据库了解什么?mysql了解么 4、前台技术,看我用的ExtJS,就问是否了解JQuery 5、进现在的公司,觉得对技术是否有提升? 第三面,此面没有技术问题 第四面HR(感觉这面问题回答的有点扯,毕竟是这么几年来首次面HR,之前面过2、3个公司,要么很早就挂了,要么感觉流程太长,自己不愿意面下去) 1、愿意去杭州发展么?我说要考虑,hr就问主要考虑什么问题 2、从技术角度来说,你觉得你跟你同学比怎么样 3、你的父母怎么看待你的 1、jvm性能调优都做了什么 2、高并发情况下,我们系统是如何支撑大量的请求的 3、集群如何同步会话状态 4、负载均衡的原理 5、数据库事务属性 6、二叉树的遍历算法 7、hashtable和hashmap的区别 8、并发、同步的接口或方法 9、string、stringbuilder、stringbuffer区别 10、https处理的一个过程,对称加密和非对称加密 11、线程的几种状态 12、了解手机开发么 13、个人优势 14、与同事沟通的时候,如果遇到冲突了如何解决 15、工作中觉得哪方面欠缺? 16、有问题要问么? 17、期望薪水 18、为什么要离开现在的公司 * struts1.2和webwork的区别 * hibernate和ibatis的区别 * spring工作机制,IOC容器 * servlet的一些相关问题 * webservice相关 * java基础:jvm,HashSet等等 * 考察学习新技术的能力 其他: 1. 店铺相关的业务特点决定,有前后端知识是加分项。 如果候选者熟悉javascript。 可以考察: 1) 前后端优化的基本常识,比如js放在后面不阻塞等;原生js的理解,正则,时间冒泡等。 2)firebug,fiddle等调试工具; 3)如果是基本使用,看下ext框架,jquery等熟悉程度。jquery插件机制,sizzle选择器。 如果以上都不错,可以再深入考察 1)作用域链, 闭包的理解。 2)看下是否了解最新的技术,哪些最新的技术呢?这里我给大家看看,目前网上没有系统的全面的并发编程学习大纲,我搜集了很多资料总结出来一个最全面的学习大纲: JVM性能调优 性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,特别是阿里巴巴这样的一线互联网公司最为注重,因此想进入阿里,性能优化一定是要去深入学习与理解的一环,本屌在性能优化这一块虽然不能算专家,也可以自信的说是精通了(注意:自己的简历上一定不要写精通xxxx,要不然面试官会怼死你。好在小编这一块还算自信) ![]() 网络编程和高效IO Tomcat进阶解析 MySQL深度优化,Linux基础及进阶以及设计模式实战 开源框架解析专题 阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的 ![]() 高性能架构专题 阿里巴巴有很多大团队,这种大团队里有很多小团队,到小团队之后,做的业务都不相同,如果想立足成为一线互联网公司中的万能选手,最主流的分布式架构中有很多知识都是必须要去了解与学习的。并且在阿里面试过程中,面试官会问到实际应用场景的问题:比如微服务化、用户量、并发量、业务复杂度以及可扩展程度等,这里不多赘述。小编提供一个分布式架构的学习思路也是自己目前还在学习中的体系: ![]() 微服务专题 微服务是现在互联网架构技术中最火热的话题之一,也是本屌目前正在学习研究的方向。在阿里面试过程中,面试官很少会问到关于微服务相关的问题。但作为一名开发者,一名有技术梦想的程序员微服务架构是现在必须要去了解的主流技术 (1)springboot,springcould,Docker虚拟化技术 (2)dubbo应用及源码解读,RPC原理 资料获取方式关注我,转发此文后,后台私信回复“架构资料”即可获取电子书以及架构学习资料。 ![]() 大型电商项目实战 ![]() 现在给大家分享分享几个月来讲解的一些架构视频资料还有一些架构文档以及电子书。 ![]() ![]() 资料获取方式关注我,转发此文后,后台私信回复“架构资料”即可获取电子书以及架构学习资料。 |
请发表评论