Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)(二)-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)(二)

简介: Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)
+关注继续查看

阿里巴巴面试题


阿里巴巴招聘:https://job.alibaba.com/zhaopin/index.htm




多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?

JAVA的AQS是否了解,它是干嘛的?

除了synchronized关键字之外,你是怎么来保障线程安全的?

Tomcat本身的参数你一般会怎么调整?

你有没有用过Spring的AOP? 是用来干嘛的? 大概会怎么使用?

如果一个接口有2个不同的实现, 那么怎么来Autowire一个指定的实现?

如果想在某个Bean生成并装配完毕后执行自己的逻辑,可以什么方式实现?

SpringBoot没有放到web容器里为什么能跑HTTP服务?

SpringBoot中如果你想使用自定义的配置文件而不仅仅是application.properties,应该怎么弄?

SpringMVC如果希望把输出的Object(例如XXResult或者XXResponse)这种包装为JSON输出, 应该怎么处理?

如果有很多数据插入MYSQL 你会选择什么方式?

如果查询很慢,你会想到的第一个方式是什么?索引是干嘛的?

查询死掉了,想要找出执行的查询进程用什么命令?找出来之后一般你会干嘛?

读写分离是怎么做的?你认为中间件会怎么来操作?这样操作跟事务有什么关系?

分库分表有没有做过?线上的迁移过程是怎么样的?如何确定数据是正确的?

你知道哪些或者你们线上使用什么GC策略? 它有什么优势,适用于什么场景?

JAVA类加载器包括几种?它们之间的父子关系是怎么样的?双亲委派机制是什么意思?有什么好处?

如何自定义一个类加载器?你使用过哪些或者你在什么场景下需要一个自定义的类加载器吗?

堆内存设置的参数是什么?

HashMap和Hashtable的区别。

实现一个保证迭代顺序的HashMap。

说一说排序算法,稳定性,复杂度。

说一说GC。

JVM如何加载一个类的过程,双亲委派模型中有哪些方法?

TCP如何保证可靠传输?三次握手过程?

京东面试题


京东招聘:http://campus.jd.com/home




java常用的数据结构有哪些?哪些是线程安全的?是怎么保证线程安全的?

Redis中的Lua有没有使用过? 可以用来做什么? 为什么可以这么用?

线程池内部工作原理可以说一下么?

死锁是什么意思,形成条件是什么?出现死锁是可以通过什么方式去排查。

在交易过程中如何放在用户在支付时的重复支付(交叉支付),请写出你了解的方案或使用的过的方案。

数据库索引有哪几种,他们之间的区别。

程序开发时通过开发工具DeBug调试时,控制台显示的内容都包含什么?哪些内容可以帮助你发现问题和解决问题。

RPC通信过程中,假设A系统提供了一个方法入参是一个JavaBean,出参也是一个JavaBean。另外两个系统B系统、C系统调用接口,调用方B想让提供方A增加一个返回参数,假设服务提供方A增加了返回参数,请问C系统调用方需要做什么处理?

了解哪些设计模式,用伪代码实现一个你熟悉的设计模式。

讲一下怎么使用分布式锁。

说说HashMap的原理, 以及HashMap如何扩充bucket的大小。

Redis的Pipeline是用来干什么的?

Mysql索引的分类(Btree, hash),各自使用什么情况 。

说说Myisam, Innodb区别。

知道哪些负载均衡算法。

说一下Btree的查找原理。

简述三次握手,如果c端发起握手请求,s端无法立刻建立连接应该回应什么?

去哪儿网面试题


去哪儿网招聘:http://qunar.zhiye.com/xyindex




自我介绍,项目介绍。

mysql数据库调优。

sql优化。

like能用索引吗?

java对象四种引用。

GC原理。

jvm内存结构。

说一下你学过jvm 在书写代码上对你有什么帮助和提高。

千万数据量的查询你会怎么做?

HashMap在jdk1.7和1.8的区别,为什么引入这个概念?hash碰撞怎么解决,为什么1.8要比1.7更好,好在哪?

关于你的项目,如果并发很大,你会怎么改造。

方法区里什么样的对象有可能被回收。

线上cpu飙升100%你怎么处理。

频繁FullGC怎么处理。

线程池创建有几种,为什么创建定长的线程池个数最好是5,10,15这样的数字。

linux命令。

伊甸区和幸存区可动态变化吗?

redis和memcached区别。

说几个jdk命令,jmap是什么意思。

如果并发很大,你对数据的正确性怎么保证。

饿了么面试题


饿了么招聘:https://jobs.ele.me/#/




http和https的区别,https原理,http2.0与1.0的区别。

Java的垃圾回收机制,Java文件加载机制,tomcat类加载机制,锁机制,jvm原理及线上调优,jvm内存模型。

多线程,有哪些可以保持进程同步的方法,创建线程的几种方法,对i++多线程访问你会怎么做。

Java的设计模式,单例有什么模式,懒汉为什么加volotile,volotile的内存屏障,如何避免死锁。

考虑单例模式的编写,要线程安全且内存消耗小(剑指offer原题)。

String、StringBuilder、StringBuffer区别;String类能被继承吗?为什么?

在白纸上手写二分法排序算法(lintcode上原题);二分查找的思想。

查找单链表中倒数第k个节点的算法,手写(lintcode上原题);最常见的排序算法你见过哪些,快排的基本思想及时间复杂度。

常见的数据结构有哪些。

hashmap、hashcode一样,不equals怎么处理 ;hashcode实现原理,currentHashMap原理,实现细节,怎么实现同步的;类为什么要有hascode方法,是不是主要在集合类中都要实现hashcode方法;equals方法怎么实现;两个不同的对象可能有相同的hashcode值吗;常用集合有哪些。

tcp三次握手,四次挥手协议。

架构设计一个开发性问题,设计一个Nginx管理的中间件,怎么设计。

所有的类都继承与object,你用过object类的直接子类有哪些,object类常用的方法有哪些。

Java会出现内存泄漏吗,如果回,在哪种情况下?

抽象类和接口的区别。

平时怎么扩展自己的专业知识水平。

面试心得


准备要充分,知识面要尽量的广,同时深度也要够。

面试安排上,如果不着急,尽量给自己留多时间,两天一家,及时做总结和补充。

心态要放平,当做一次技术交流,面试要看一部分的运气,也要看一些眼缘,有的面试官一张嘴你就能感觉到你这次面试完了。想去的公司没有面试好,不要气馁,继续加油准备。

简历投递方面,拉勾上投了很多经常不匹配,可能是我学历问题(自考本),有一些打击自信心,如果有同样感受的,不妨换BOSS或者其他平台。避免打击自信心。

写简历一定要体现自己的优势,最好能体现类似于,用到了什么技术,解决了什么问题。简历上写到的一定要胸有成竹。

类似于你的优势是什么,你觉得你项目中做的比较好的地方有哪些,你能给公司带来什么,这种问题心里要先想一些,免得临场发挥容易紧张说不好。

我所经历的面试,一般技术面最少是两轮。如果一轮后让你走了,而你还自我感觉良好,那我觉得你有必要回顾一下面试内容,并一条一条找找该问题的相关内容,大部分问题就在于你没有答到点子上,可能是深度不够,也可能是扩展不够,继续加油。

      现在外面面试问的的确比较多,要求也挺高的,行情不好,薪资也不好要,所以心态一定要放好,找好自己的定位,心态一定要好。本文是由作者一位好友把他的面试心得分享而得,有着5年工作经验,目前在上海一家阿里系公司就职。希望这些面试题对大家有所帮助,再此表示,答案会在作者的交流群里与大家分享交流。                  ----------转自Java烂猪皮

      在这,也祝大家在金三银四面试的道路上,都能够找到大家心仪的下家!


求职技巧


了解行业的动态,应聘发展势头良好的岗位:既然身处互联网时代,那就应该好好利用互联网,现在各种招聘信息再各个平台上都能找到,各种各样的行业分析在论坛上也都屡见不鲜。请教一下周围的前辈,再横向比较一下各公司岗位的优缺点,总能够找到几份不错的工作。不要觉得找工作只是自己的事情,多听听内行人的话才能避免入坑。

不断充实自己,不要停下学习的脚步:在刚进入大学的时候,有很多学生都会抱怨高等数学和大学物理学了根本没用啊,显示生活中根本用不到啊。他们其实想错了,用不到只是因为他们还没有接触到,等到接触到想要再去学习就晚了。现在非常火的人工智能行业,里面的算法知识没有高等数学的支撑可搞不定。有不少人看到这个岗位给非常高的工资,可是自己数学基础又不好,学历还不行,当然没有机会竞争。学习才是保持竞争力的关键,不要只看到眼前学到的知识没有用处,要有一个长远的规划。

别好高骛远,对自己的实力有清晰地认知:当看到周围的同学获得一份高薪职业的时候,有一些人觉得自己也能找到一份同样工资的职业。但结果往往就是漫天要价,没有一个公司愿意招聘他。别人获得了一份高薪工作很可能付出了许多努力,你没有付出就想获得“回报”,拥有一份和自身实力不匹配的工资,岂不是“痴人说梦”?在大环境突然改变的情况下,认清自己的定位需要一个过程,这并不是每个人都能在短时间内做到的。所以,要脚踏实地,正视自己,然后找到最适合自己的。

                   所谓万丈深渊,下去也是前程万里;犹记得,山重水复疑无路,柳暗花明又一村!


       即使到了冬天,也要努力,让自己成为那个不会被裁掉的那个人!何况,新生代独角兽,都在冉冉升起。2019年,互联网江湖,随着独角兽们的日益壮大,互联网的春天依旧盎然!

      最后,博主,祝大家2019年,求职顺利!心想事成!


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
27个阿里 Java 开源项目,值得收藏!
大家好,这里为大家整理了阿里的Java开源项目,希望对大家有所帮助
6054 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10084 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2962 0
福利篇:分享些收藏已久的Java架构资源,七天后失效~
有段时间没跟各位老铁分享一些编程资源福利了,看了下自己的百度网盘,就剩下这个我认为是比较好的Java架构师学习资料了 。相信我,这套资料,绝对可以对你进阶高级工程师有帮助! Java架构技术进阶路线图     ...
1059 0
收藏!阿里毕玄16篇文章,深度讲解Java开发、系统设计、职业发展
阿里毕玄结合自己的经历深度讲解Java开发、系统设计、职业发展等问题,快来一键收藏吧。
27721 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12076 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13890 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11889 0
java 相关收藏
JAVA 共享10本经典Java教程(pdf版) - Java / J2ME 58同城开源轻量级Java Web框架 Argo-CSDN.NET TestNG简单应用 - - ITeye技术网站 Mockito(三)--完整功能介绍 - 我的学习成长日记 - 博客频道 - CSDN.NET Java之美[从菜鸟到高手演变]之面试复习提纲 - 智慧演绎,无处
1259 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载