技术标签: Java 程序员 面试 源码分析 JAVA架构进阶 性能优化 架构师 微服务架构 Java后端技术的博客 阿里
java程序员面试经验(北京) - 阿里巴巴
面试过程:
一、 面试流程:
我一共经历三轮面试,两轮技术面,一轮HR面。HR面结束次日拿到offer。
二、 面试内容:
1. 自我介绍。虽然并不是每次面试面试官都会要求自我介绍,但连续三轮面试都不遇到自我介绍的可能性也不大。同时,自我介绍是一个较易准备的部分。所以,无论如何准备好自我介绍。考虑到大部分人对编程内容都会有所偏重,所以在自我介绍过程中使用技巧引导面试官的注意力也非常重要,当面试官的注意力落在你所擅长的领域时,你就能在面试过程中发挥最大的优势。
2. 项目。两轮技术面过程中,面试官都花了很多时间针对项目进行提问。但提问方向很常规,包括项目整体构架、所使用的数据结构、项目主要技术难点、遇到难题如何解决、项目人员分配问题等,只要全程参与项目并对项目足够熟悉,基本可以应付这一部分的问题。
3. 竞赛。我并没有参加过较大型的赛事,所以直接回答没参加过。但若参加过阿里方面举办的竞赛,可在面试过程中作为较大的加分项。
4. 编程。阿里虽并不强制要求面试过程中进行现场编程,但面试官总要对面试者的算法和编程能力进行检验,所以大部分面试者还是会被要求进行现场白板编程。
5. 其他基础性问题。基础性问题涉及范围很广,你会被问到的具体问题取决于你项目的偏向、面试中回答的情况及面试官的偏好。就我个人而言,被问到的问题包括:什么是StackOverflow;Poll和Select区别;Hashtable, HashMap,和ConcurrentHashMap 的底层实现原理;GC的工作原理;OSI七层协议;实现多线程的方式;线程同步,并发操作怎么控制;HTTP和HTTPS的区别;sendRedirect, foward的区别;Session, Cookie的区别;JVM垃圾回收实现原理;TCP中断连接四次挥手;基本数据类型;死锁;Java和C/C++之间的差别;数据库事务隔离机制的特点等。(排序不分先后)
6. 其他常规HR的问题。包括对公司文化的理解,对公司发展前景的看法和建议,对前两轮面试官的看法,在读书期间参加过的社团活动,印象最深刻的事情,个人的优缺点,兴趣爱好,喜爱书籍,期待薪酬,入职情况等。
三、 算法题
收集了身边几个参加阿里面试的同学的面试情况,发现阿里面试考察的编程题都较简单,基本就是对数据进行排序或查找,相同或者相类似的题目都可以在Lintcode上面找到。我当时被要求现场手写二分查找的算法。算法不难,比较麻烦的是现场手写以及尽量做到bug-free。
四、 前期准备
1. 参加竞赛。如果是为明年或后年面试做准备,可尽量参加阿里举办的相关竞赛,作为自己的加分项。
2. 巩固自己的计算机基础知识。阿里面试官在校招过程中,对基础知识的扎实程度很看重,所以一定要稳扎稳打。
3. 积极刷题。面试中面试官要求手写的算法大都大同小异,皆可在类似lintcode这样专门刷题的网站上找到。不仅我,包括我认识的其他人,面试中遇到的算法题都基本不会逃脱lintcode的范围。只要面试前积极刷题,对所有面试题做到熟稔,就可以自如的面对面试中出现的算法题,才能进一步做到bug-free,进一步提高代码的运行效率,给面试官留下最好的印象。
4. 项目在精不在多。对手头已经进行的项目,一定要认真做,深入了解其内在原理,不可浮于表面。
五、 小建议
1. 在进行面试前,对自己的项目进行回顾、加深熟悉和梳理。保证不在项目问题上丢分。
2. 知之为知之,不知为不知。校招过程中,面试官不会因为你在一个领域的不熟悉而否决你,重要的是表现出扎实的基础功底和优秀的潜能。
3. 使用lintcode进行刷题时,利用类别分类及难易分类功能从易到难集中刷题,提高刷题效率。
4. 刷题过程时,适当进行白板训练,降低面试过程中白板编程的陌生感和不适应感。
5. 刷题过程中勤加总结并进行记录,方便面试前突击。
6. 对于HR最后“你还有什么问题?”,可就企业社会责任的、员工的食和行进行提问。
面试官问的面试题:
项目整体构架、所使用的数据结构、项目主要技术难点、遇到难题如何解决、项目人员分配问题等
C++软件工程师 面试经验( 杭州 ) - 阿里巴巴
面试过程:
(1)自我介绍,做过什么项目。
(2)java虚拟机的区域如何划分,每一个区的动能,这一块自由发挥。
(3)双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类?
(4)有没有可能父类加载器和子类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?
(5)HashMap的结构,get(),put()是如何实现的?HashMap有哪些问题?
(6)ConcurrentHashMap的get(),put(),又是如何实现的?ConcurrentHashMap有哪些问题? ConcurrentHashMap的锁是读锁还是写锁?
(7) HashMap与HashTable的区别
(8)sleep()和wait()分别是哪个类的方法,有什么区别
类、对象与魔法方法类与对象练习题魔法方法类与对象练习题1、以下类定义中哪些是类属性,哪些是实例属性?class Test(object): class_attr = 100 # 类属性 def __init__(self): self.sl_attr = 100 # 实例属性 def func(self): print('类对象.类属性的值:', Test.class_attr) # 调用类属性 print('self
正确的选择比努力更重要!_java se基础路线图
前言:在学到servlet需要配置web文件的时候才发现自己的目录下面是没有的,在网上百度花了点精力,找到了解决方案,所以整理出来帮助大家,也怕自己下一次再遇到这个问题时忘记解决办法又要百度,那太不划算了。以前没有的话就是把别人的web.xml文件拷贝到我的项目里然后修改一下文件内部的路径就可以用了。解决方法:将鼠标指向工程文件夹,右键》找到如下路径点击,就可以生成一个web.xml文件..._java eclipse怎么生成配置文件
转载地址:https://blog.csdn.net/x83853684/article/details/80432576之前有记录过用bodbay这个地三方的插件来录制脚本,然后想了一下用jmeter本身来录制脚本,网上有很多人说jmeter录制的脚本会不稳定,当然,大家也可以用第三方插件录制,下面用jmeter 4.0的版本来录制脚本,然后实现压力测试。录制前提:1、下载好jmeter 4.0...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxr1521904712/article/details/892365691.考虑到灵活性,Firefly-rk3288的文件系统可以采用yocto方便获得,至于uboot和kernel则采用rockchip提供的独立包,虽然镜像使用独立源代包生成,然而一些生成工具还是使用rochchip的lin..._rk3288 boot rw system
想要使用浏览器缓存,需要浏览器和web服务器进行沟通(缓存协商),确认是否使用浏览器缓存,有些童鞋可能会有 疑问了,浏览器缓存明明在本地,为什么非要请求web服务器?能不能不请求web服务器直接使用浏览器缓存呢?答案是肯定的,能,我们只需要在响应的头信息中添加过期时间即可,在过期时间之前,浏览器将不会再次请求web服务器,而是直接使用本地缓存。
CE递归遍历主界面控件local fnGetSpace = function(n) local ret = "" for i = 1,n do ret = (ret .. "-") end return retendenum_ui = function(ui,level) if not ui then retu...
/* 一种简单的写法,要求好像要用到数组,现有知识写感觉算法不行,太复杂! */#include r(int n){ if(n%10!=n) r(n/10); //这里是取整除结果; printf("%c",(n%10)+'0'); //先转换3再转换2,再转换1,原理同栈,先进后出!}void main(void){ r(123);}
2019独角兽企业重金招聘Python工程师标准>>> ...
通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用VideoView的如下两个方法来加载指定的视频 setVidePath(String path):加载path文件代表的视频 setVideoURI(Uri uri):加载uri所对应的视频3、调用VideoView的start()、stop()、psu
逻辑回归(Logistic regression)回归方法是对数值型连续随机变量进行预测和建模的监督学习算法。其特点是标注的数据集具有数值型的目标变量。回归的目的是预测数值型的目标值。逻辑回归对应线性回归,旨在解决分类问题,即将模型的输出转换为0/1值。逻辑回归直接对分类的可能性进行建模,无需事先假设数据的分布。最理想的转换函数是单位阶跃函数(也称Heaviside函数),但单位阶跃函数..._pytorch logistic regression
1 资源资源信息版本号备注activeMQ5.16.1IP: 192.168.51.4springboot2.1.5.RELEASEprettyZoo2.0zookeeper可视化工具springboot-activemq-demo 源码 下载2 zookeeper安装需要安装zookeeper,如果未安装,可参考博文:MQ ActiveMQ安装部署和配置3 springboot整合3.1 pom文件<?xml version="1.0_activemq 发送对象