• 面试java后端面经_4


    作者:早该变坏
    链接:https://www.nowcoder.com/discuss/157627
    来源:牛客网

    情话部分:
    当有自己心仪的小姐姐,又没确定关系,有时候分享彼此爱情观的时候,你就可以开始讲下面这个故事啦。

    小姐姐问:你是如何看待感情的?或者问什么是爱情?(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')

    祝早日get心仪offer

    大量面试经验以及学习资料书籍请关注:AVAJ

    回复"offer"进行获取

    365篇大厂java面经 你想要的我这里都有

  • 相关阅读:
    css切图Sprites
    javascript改变position值实现菜单滚动至顶部后固定
    Cannot create type class java.io.File from value
    关于如何拍摄瓷器(转)
    Struts2的jar问题
    vim的基本操作
    Flask基础
    Flask入门
    MongoDB 之 数据类型
    基于DBUtils实现数据库连接池
  • 原文地址:https://www.cnblogs.com/DoubleP/p/11310996.html
Copyright © 2020-2023  润新知