前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试java后端面经_4

面试java后端面经_4

作者头像
用户6055494
发布2019-08-20 15:23:04
3870
发布2019-08-20 15:23:04
举报
文章被收录于专栏:AVAJAVAJ

小姐姐问:你是如何看待感情的?或者问什么是爱情?(ps:这里你可以先说:吐车上200 然后继续分享下面故事)

你答:你知道吗,爱情就行像是你前面有一片很大的麦穗地,现在要让你去里面摘一颗最大的麦穗,有俩个前提:1 只能摘一次 2不能回头。这时候你小心翼翼的走进了这片麦穗地,寻找最大的麦穗,一路上你看见过许许多多的麦穗,包括一些很大的,但是呢你总想着后面的路很长,希望再找找,所以啊你就一直走,一直走,渐渐的你发现快到终点了,你的手中还是空空的,这时候啊你就想着在这最后的一段麦穗地上找一颗大的,于是你开始仔细寻找,无奈你看到的大的麦穗都不及之前所见到的,最终你空手到达了终点。——大号

爱情就是这样每个人何尝不希望找到那个最好的呢,但无数的现实告诉我们,我们需要的是最对的,而非最好的,就像这麦穗地,你永远也不知到哪棵最大。

面试官等不及了。。

1 自我介绍( 您好(人多就说大家好),很荣幸有机会参加此次面试,希望我今天能有好的表现,现在请允许我介绍一下自己:我叫变坏,今年18岁,毕业于牛客大学软件工程专业(或者说是牛客大学软件工程专业的应届生),在大学期间专业课学习了java这门编程语言,自己在网上也学习了一些相关的技术,在校期间自己也曾和同学使用java开发过一些项目,在学校也曾考取过相关的证书,获得过一些比赛的奖,大学期间还担任过课代表,由于毕业将近,本人决定踏上社会道路,因此在牛客平台看到贵公司的招聘,在此之前也曾在网上了解过贵公司(不要去问公司业务,网上都可以查的),巴拉巴拉吹一吹。从以上简单的自我介绍里,我希望公司能给我一个展示自己能力的机会)

2 什么是反射(Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。这里有三种方式得到class,一定得记清。还有就是得到class后的一些方法API要记记,私有方法和属性也是可以通过反射获得的)

3 ReadWriteLock的使用(这里主要讲ReetrantReadWriteLock 涉及到可重入锁、获取锁的顺序(公平非公平)、锁升级(不支持)、锁降级(支持)、读操作是线程共享、读写和写写操作是互斥、效率高于Synchronized)

4 基本的排序(这里我希望你们一定要自己亲手去写,然后找个小黄鸭,把过程描述清楚,归并,堆排、快排,这三个一定是要能写出来啊,最好是能在纸上写出来,看懂和能独立写出来是不同境界的,能独立写出来和能把人教会也不是一个境界的,我希望你们都成为能把小黄鸭教会的人吖!)

5 解决Hash冲突方法(开放定地址法、再哈希法、链地址法、建立公共溢出区)

6 进程、线程(进程:资源分配的最小单位。线程:操作系统调度的最小单位)

7 同步IO、异步IO、阻塞IO、非阻塞IO

我这里不讲概念啦,讲个例子用来记忆它们的区别。

同步IO:亲自出马到银行取钱(使用同步IO,java自己处理IO读写)

异步IO:委托一小弟拿银行卡到银行取钱(使用异步IO,java将IO委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API)

阻塞IO:ATM排队取款,只能等待(使用阻塞IO时,java会一直阻塞到读写完成才返回)

非阻塞IO:柜台取款,现在先取个号,然后回到椅子上做其他事情,没到号就不能去,你可以不断问大堂经理,轮到你了没(使用非阻塞IO时,如果不能读写java调用马上返回,当IO事件分发器通知可读写时,再继续进行读写,不断循环直达读写完成))

8 TCP三次握手四次挥手(这里得哆嗦一下:既然面试官问了,肯定不会只想听你说什么客户端服务器交流啥的,这里明显是要你说TCP报头,第一次客户端发送SYN报文,第二次服务器发送SYN+ACK报文,第三次客户端ACK报文各种状态所以有了SYN攻击。四次挥手也要记清,四次各发了啥,各处于状态,等待2MSL是为了啥。楼主下次整理一个这方面的精简记忆版)

9 MySql的Explain命令(我们现在写了一条sql,那我我们想知道这条sql的执行计划啊,是用来索引啊还是全表扫描等信息。这时,我们就只需要把explain命令写在我们的sql前 一同执行就能查看相关信息了这里要几个字段是什么意思:select_type、type 、Extra 记这三个,这里不太明白的童鞋百度一哈 )

10 linux的netstat命令(显示各种网络相关信息,如网络连接,路由表,接口状态等等,很多参数我就不写了,列出所有端口:netstat -a 、列出所有 tcp 端口 netstat -at 、列出所有 udp 端口 netstat -au、当你不想让主机,端口和用户名显示,使用 netstat -n、找出运行在指定端口的进程:netstat -an | grep ':8080')

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员面试鸭 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档