2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试
没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及。。。找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构、算法等基础上了)。上周五投递的简历,这周四就接到了面试电话,面试GG声音很有磁性,也比较温柔。。。一开始是自我介绍,妈的,好紧张,可能是好久没面试了,感觉中气不足。自我介绍犹如叙说自传,废话讲了一大推,看来最好还是事先准备好一段台词。然后问了参加过哪些社团活动,还是因为紧张竟然把电脑医院的经历给漏说了。。不过这些都是次要的,感觉只是”前戏“,是面试官了解你并帮助你进入技术面试状态的一种方式,无须太介意自己说的怎么样。
好了,转入正题。以下是面试官的几个问题,知识面还是涉及蛮广的,有JAVA、数据库、http方面的知识、前端以及linux。接下来一一阐述并且总结。
1、Object类中的方法有哪些,它们各自的作用是什么?
回答:我当时说了equals(),hashcode(),finalize(),clone(),然后说了它们各自的作用。对于clone()方法我当时提到了默认是浅层复制,然后面试官随即就问到深层复制和浅层复制的区别。我回答浅层复制的话原对象和被克隆对象的引用属性共用一个对象,而深层复制时引用变量类型的属性也会被复制一份。然后他继续问到clone的应用场景,这个问题没答上来。接着他让我用伪代码写一下如果一个对象覆盖equals方法,该怎么写?我边在草稿纸上写边和他说,中间有一步出现了差错,if(o instanceof Student)这一步我说成了强制转换,囧。。。如果不是Student类型的对象会抛出ClassCastException异常的呀,哎。。幸好其他的都是说对的。
纠错:说了这四个方法,从数量来说尚可,但竟然把最基础的toString()和getClass()方法给忘了,还是因为太紧张的缘故吧。
toString():重写该方法可以对对象进行自定义的格式输出。默认输出是类名@hashcode值;
getClass():获取该对象的类类型。
wait():如果对象调用了wait方法,那么持有该对象的线程会把该对象的控制权交出去,然后处于等待状态。
notify():如果对象调用了notify()方法就会通知某个正在等待该对象的控制权的线程可以继续运行,但必须等待当前线程执行完sychronized中的代码块。
notifyAll():如果对象调用了notifyAll()方法就会通知所有正在等待该对象的控制权的线程可以继续运行,但必须等待当前线程执行完sychronized中的代码块。
以上对wait和notify的理解不是很到位。一个线程中的某个同步共享对象执行wait方法,该线程就释放了该对象的对象锁,进入对象等待池,等待被唤醒;在另一个线程中,这个同步共享变量执行notify方法,唤醒因wait而正在等待使用该对象的线程,使其进入对象锁等待池,有机会获得对象锁,等到获取对象锁,该线程获得CPU调度,继续运行。需要注意wait、notify以及notifyall方法必须在synchronized代码块中,切记!
2、谈谈对事务的理解。
根据事务的原则来谈对事务的理解,然后举了一个A账户给B账户转账的例子来解释。
3、Spring中的事务管理有哪两种?
我只知道AOP有事务管理的功能。。。
4、接下来是有关数据库锁的一个问题:在分布式服务器群中,有两台服务器对共享数据库的同一条数据进行并发修改,如果解决同步问题。
这个问题完全不会。最后的答案是可以在该表中增加一个字段,A服务器操作时,将该字段的值改为正在修改的标记,则B服务器去操作时,查询该字段的值,判断是否有其他服务器正在修改该行数据,如果有则等待,否则可以去修改该行数据。这里的两台服务器好比是线程,而字段好比是线程锁。学习了,呵呵。。。
5、考察hashmap。
说了关于hashmap的理解,自己说的都是很多JAVA面试题中常考的哪些知识点,比如实现原理啊,是否线程安全等,这些都没问题。但后面他继续问hashmap两种迭代的方式,各自的时间复杂度是多少?点击详情。
6、Servlet的生命周期,是否是线程安全的?
Servlet的生命周期:Servlet类加载-->实例化-->服务-->销毁。servlet是单例,所以是线程不安全的,需要处理线程同步问题。具体方法:对于线程共享的变量,应该用synchronized对使用该共享变量时的那段代码加锁,使当前线程获得该Servlet对象的对象锁。
关于synchronized的使用,点击。
7、对session的理解。
session是用于保存用户状态的一种机制。服务器端保存用户状态信息,并分配一个sessionID给客户端,客户端通过cookie机制在浏览器保存这个SessionID,在下次访问同一个URL时,浏览器会把该URL对应的sessionID传递给服务器端,服务器端根据这个sessionID查询对应的用户状态信息。如果浏览器端cookie遭禁用,则可以再URL重写来实现sessionID的传递。
8、了解前端的一些知识吗?
html+css+js
9、get和post的区别?
区别容易,他问我get和post分别能传递多少字节量的数据。我说get是几kb吧,post不知道具体的数量级,反正要比get大很多。。。事实上get是1024byte,post没有限制。。
10、熟悉的linux命令有哪些?
报了一些熟悉的命令,他说可以了。。
2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试的更多相关文章
- 天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷
写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...
- 蚂蚁金服招聘-JAVA资深开发工程师/专家-蚂蚁金服保险
岗位描述: 1.协助业务方梳理业务需求,提供业务规划方案.架构设计方案: 2.负责业务系统的规划设计,制定产品的技术发展路线,完成重要业务模块及核心框架的搭建及编码实现: 3.发现和解决业务系统的技术 ...
- 分享一道阿里巴巴(蚂蚁金服)Java笔试题
编写一个函数验证一个给定的9x9 整数矩阵是否符合数独的特性:a) 每个单元格数字为 1-9b) 每行的9个数不重复c) 每列的9个数不重复d) 如图中分割的9个小3x3矩阵,每个小矩阵里9个数不重复 ...
- 2019蚂蚁金服中高级Java工程师面试题及答案
面试基础 谈谈一致hash算法? 按照hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间.将这些数字头尾相连,想象成一个闭合的环形.如果集群中加入新的 ...
- 拿到蚂蚁金服的offer是一种什么体验?3年Java程序员分享面经
前言:我是一名三年的Java程序员,之前一直是在外包公司工作的.在这个月五号的时候,通过我的学长做内推,有了去蚂蚁金服面试的机会.我是在12号接到的电话面试的,因为蚂蚁金服需要7天的简历评估的.还有就 ...
- 独家 | 蚂蚁金服TRaaS技术风险防控平台解密
小蚂蚁说: 在金融行业,风险防控能力的重要性不言而喻.而蚂蚁金服可实现高达99.999%的异地多活容灾,千亿级资金秒级实时核对“账.证.实”等能力也让业界有目共睹. 今年位于杭州的蚂蚁金服ATEC科技 ...
- 最新 蚂蚁金服java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.蚂蚁金服等10家互联网公司的校招Offer,因为某些自身原因最终选择了蚂蚁金服.6.7月主要是做系统复习.项目复盘.Leet ...
- 蚂蚁金服财富技术部,诚招Java研发工程师。校招内推!!!
蚂蚁金服财富技术部,诚招Java研发工程师. 团队是蚂蚁金服财富技术部核心团队,支持亿级互联网交易清算,在这里不仅能学习到先进的互联网技术,也能了解许多终身受益的金融知识. 内推对象 2020届毕业生 ...
- 2019 蚂蚁金服java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.蚂蚁金服等公司offer,岗位是Java后端开发,因为发展原因最终选择去了蚂蚁金服,入职一年时间了,也成为了面 ...
随机推荐
- 翻译Oracle文档--SYSDBA和SYSOPER系统权限
SYSDBA和SYSOPER是管理权限,被用户来执行高级管理操作例如:创建 开启/关闭 备份/恢复 数据库.SYSDBA系统权限是针对想给予完全授权的数据库管理员SYSOPER系统权限允许一个用户执行 ...
- Hdu1108(最小公倍数)
#include <stdio.h> int main() { int Num1,Num2; while(scanf("%d %d",&Num1,&Nu ...
- cf A. Vasily the Bear and Triangle
http://codeforces.com/contest/336/problem/A #include <cstdio> #include <cstring> #includ ...
- Codeforces 582B Once Again
http://codeforces.com/contest/582/problem/B 题目大意:给出一个序列,是由一个长度为n的序列复制T次得到的,问最长非下降子序列的长度. 思路:我们建立一个n* ...
- XJOI网上同步训练DAY2 T1
[问题描述] 为了迎接校庆月亮中学操场开始施工.不久后操场下发现了很多古墓这些古墓中有很多宝藏.然而学生们逐渐发现自从操场施工之后学校的运气就开始变得特别不好.后来经过调查发现古墓下有一个太守坟由于操 ...
- Qt5.3企业版和开源版功能区别
一: Charts Charts是QT提供的图表模块.他提供了非常简便的APIs来绘制令人惊叹的Line, Spline,Area,Scatter,Pie,Donut,Bar,Polar和Box-an ...
- PowerShell因为在此系统中禁止执行脚本解决方法
PowerShell因为在此系统中禁止执行脚本解决方法 在Powershell直接脚本时会出现: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 " ...
- python中的继承原则
继承是面向对象的重要特征之一,继承是两个类或者多个类之间的父子关系,子进程继承了父进程的所有公有实例变量和方法.继承实现了代码的重用.重用已经存在的数据和行为,减少代码的重新编写,python在类名 ...
- 编译不通过:提示XXXX不是类或命名空间名 的解决办法
手动写了一个类,需要引入预编译头stdafx.h.结果编译时提示XXXX不是类或命名空间名. 处理方法:将#include "stdafx.h"放在最前面.
- JQuery轻量级网页编辑器 选中即可编辑
目前流行的可视化网页编辑器非常多,像ckeditor.kindeditor.tinyeditor等,虽然功能都非常强大,但是体积都比 较庞大,使用起来也不是很方便.今天我们分享一款基于jQuery的轻 ...