龙空技术网

金山云 Java方向面经

面试辅导 228

前言:

眼前你们对“原型ajax”大概比较重视,兄弟们都需要知道一些“原型ajax”的相关知识。那么小编也在网上汇集了一些关于“原型ajax””的相关知识,希望小伙伴们能喜欢,姐妹们快快来了解一下吧!

1一面 2020-02-27

1.项目介绍(最细节15min)

2.JAVA中List的实现(数组,链表)

3.LinkedList的实现是怎么保证无环的(这个还真没看到过)

4.sleep和wait的区别

5.mysql隔离级别,acid等常规问题

6.mysql默认隔离级别是可重复读,如何解决的幻读(MVCC&next-key)

7.JAVA中锁syncronized的实现原理(对象头,监视器锁)

8.syncronized锁升级的过程问题都没有往太深去问,总体还算简单,面完通知等二面

二面 2020-02-27

1.自我介绍

2.java中锁的实现(syn锁不同东西的时候锁的是啥,举了各种情况下,锁不同东西,问锁能否锁住,reentralock的底层实现)

3.java中map的实现(treemap和hashmap,及原理,要重写哪些方法,为什么要重写,不同对象相同值的hashcode?)3.5 要你实现lru怎么实现,java中有没有实现好的集合4.java中创建线程的方法(每一种都是如何创建的,线程池是如何实现的,执行过程,如果让你实现线程池怎么实现(不丢弃超额任务的情况下))

5.spring的DI用处是什么,怎么实现IOC的

6.linux命令:如何查看log文件中的500状态码,如何计数log文件中某一列各状态码的数量(这一条命令我还真不会)

7.两个简单的sql命令

8.http协议常见状态码(301.302.5xx)

9.tcp连接细问(各个阶段的状态,为什么会出现大量timewait,为什么会出现大量close_wait)

10.输入url所经历的过程(从面试官那学到了一波,现在很多业务都会先从dns服务器拿CDN的IP,再去cdn逐级访问)

11.数据库acid,隔离级别(隔离级别都是为了解决哪些问题,怎么解决的,默认隔离级别)

12.继承和线程的区别(进程都有哪些资源,线程都有那些资源,为什么线程上下文切换开销小)(问到盲区了)

13.反问总的来说二面深度会深很多,知其然还要知其所以然,还是基础这东西,会多少都不够呀hhhh说是很快hr会给联系,也不知道能不能通过,许愿吧,也是在面试中学习,继续学习去辽

2一面 2020-03-08Redis的默认端口(项目中提到了Redis)反爬措施?(项目中提到了爬虫)有些URL爬失败了怎么办?是怎么建的Pod?有弹性伸缩么?(项目中提到了k8s)http和https的区别,哪个快?两个的端口是什么?浏览器缓存怎么做?cookie是什么状态码502是什么快速排序python3和python2的区别python的GIL深拷贝和浅拷贝zip函数数组去重mongodb用过么3一面 2020-03-08常规的面试问题(不再重复)线程间通信的方式有哪些分布式数据库的数据一致性怎么保证C10K问题和C100K问题创建死循环有哪些方式4一面 2020-02-08怎么证明你的自学能力讲讲最近看的一本书,有什么收获你认为什么是好的代码你有什么优缺点你遇到过的最大的问题,怎么解决的你的职业规划是什么能实习多久对公司的了解对自己最不满意的地方是什么自己最骄傲的事情是什么你觉得最成功的事是什么你觉得最遗憾/失败的事是什么二面 2020-02-08自我介绍直接问了实习里Java做的那块项目用到了那些技术, 框架Java中数据结构HashMap原理, 线程安全吗?ConcurrentHashMap保证线程安全原理, 里面用到了什么锁? 这个锁具体类名是?ConcurrentHashMap采用了非常精妙的"分段锁"策略,ConcurrentHashMap的主干是个Segment数组。final Segment<K,V>[] segments;static final class Segment<K,V> extends ReentrantLock implements Serializable一个Segment就是一个子哈希表,Segment里维护了一个HashEntry数组,并发环境下,对于不同Segment的数据进行操作是不用考虑锁竞争的。你知道的锁有那些类型呢ReentrantLock和synchronized 区别, 性能比较保证线程安全的其它方法TreeMap原理TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)实现。该映射根据其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序了解HTTP, TCP吗HTTP报文, 一个HTTP请求包括参考:常见HTTP响应码有哪些301和302区别呢? 307知道吗?301(被请求的资源已永久移动到新位置): 做域名跳转, 把网站从http重定向到https302(临时重定向): 比如未登陆的用户访问用户中心重定向到登陆页面307 Temporary Redirect但该响应代码与302重定向有所区别的地方在于,收到307响应码后,客户端应保持请求方法不变向新的地址发出请求。SpringBoot依赖注入实现原理Spring反射方式最近在学什么, 学习方法你有什么要问我的5一面 2018-09-12

1.画一下集合类的框架,讲一下内部的区别

2.Redis的几种数据类型,说一下用过哪些,讲一下原理

3.spring用过哪些bean

4.线程池讲一下那四种的区别

5.拦截器讲一下

6.手写快排

7.synchronized和ReentranLock的区别

8.gc分代

9.用过哪些设计模式(答:单例,工厂。。。)会写几种单例(答:双重判断,内部静态类)

二面 2018-09-12

1.讲一下spring的启动流程

2.Tomcat同时部署多个的时候端口怎么配置

3.TCP、UDP在那一层,又问了点协议的问题

4.最近在看什么书,都怎么学习的,将来的规划

5.代码都部署在哪,会写git么

6.最近做的项目是哪个,讲一下设计

7.NIO讲一下

8.TCP三次握手

9.问了我几个工具,我都没听过,也不记得了,然后就开始和我谈别的了

10.三面今天参加个什么会议去了,今天应该回不来了,你等消息把。然后HR和我说有下一轮的话三到五天内会通知,然后已经过了一周了,被花式劝退。。。

6一面 2018-09-12

1.自我介绍,然后讲了下项目的难点,项目里消息队列持久化的设置

2.hashmap,直接和hashtable、CHM一起讲,然后问我CHM的锁机制3.synchronized和reetrantlock,讲了公平锁、非公平锁,锁优化一大堆,知道的全说了

4.类加载机制,然后问我一个系统里调用了两个不同包里的同名类,会加载哪个类5.线程池相关

6.10G URL文件,限定40m内存,如何取出出现次数最大的十个URL。。。开始说先用过滤器计数,再堆排,他说极端情况内存肯定不够,当时也没答出分片,然后就不问了

二面 2018-09-12

1.一个普通的二叉树,给一个数,求这个数字在第几层我就分层遍历,然后查找,再注意几种极端情况就好了

2.一个数组,求第K大的数字,不能修改数组,辅助空间为O(1)就设置了两个数字,求最大,第二大。。。第K大,不断更新,然后有重复的数字就计数,再更新然后让我等人力通知,也没直接带我见HR,不过感觉金山云还是挺水的,不知道这次是不是花式劝退

7一面 2020-03-08介绍简历的项目熟悉Redis是吧? 怎么用的,用的什么那种类型的数据结构,只有字符串。。Redis只用来做缓存?用过哪些缓存Redis怎么实现分布式锁的?过期时间怎么设置?缓存穿透场景常用的数据结构哪些说HashMap,ConcurrentHashMap熟悉Spring, 说下IOC, AOPAOP是用来干嘛的,忘了说事务了JVM内存分区实现原子更新操作Linux的常用命令服务器被一个客户端的进程创建大量连接,怎么排查Nginx怎么用的Zookeeper用过吗,没有,隐式用过...用过哪些分布式的东西8一面 2018-09-03讲下SpringMVC的请求流程ArrayList和LinkedListConcurrentHashMap的优化点,性能怎么样,多读的场景是怎么优化的,感觉讲的不够好,有的东西好久没复习忘了关于JVM类加载器机制大数问题,10G重复url文件,有限内存,输出唯一url的排序,写伪代码好像又问了一遍用过哪些缓存二面 2018-09-03写两个算法题,比较基础给定二叉树输出给定值的层数合并有序数组9一面 2018-08-23如果mq和程序因为网络等原因断开连接了怎么办?(答:先消息堆积在数据库中等待恢复),如何恢复mq(答:重启即可,感觉应该不是想要的答案)你们nginx是用来做什么的?数据库优化、以及优化慢查询的过程、sql优化等面了些线程池以及countdownlatch的东西问了关于tomcat的东西(好像是说tomcat除了io连接还有什么连接)长连接(我说只听过http1.1的长连接),他问mq的连接是长连接吗?(我猜是)redis和其它memory***的区别10一面 2020-03-08怎么理解面向对象;重写重载区别;锁(synchronized和Lock),synchronized加到普通方法和静态方法的区别,一个类的两个方法都加了synchronized,是一个锁还是两个锁;线程池及参数,maximumSize怎么达到;怎样理解线程安全;ThreadLocal用过吗?讲一下用处和实现;用过原子类吗?答AtomicInteger,问它的原理;get和post区别;IOC原理;反射原理是什么应用有什么;bean生命周期;二叉树的前序中序后序遍历;会哪些算法,讲了下快排的原理;集合类讲一下,ArrayList和LinkedList区别,是否线程安全,有哪些线程安全的List,HashMap底层实现;session和cookie的区别;NIO知道吗?(只知道是非阻塞的IO);a = a+b和a+=b的区别;tcp三次握手;Java内存分配,HotSpot中的持久代指的是哪个分区,堆的分区,什么情况下OutOfMemory,对象从产生到消亡的过程;异常的分类,你遇到的运行时异常;JDK动态和Spring的动态volitile;事务隔离级别;mysql行锁和列锁,mysql索引类型;redis支持的数据类型,redis持久化;11一面 2020-03-08Linux系统进程间通信信号量的实现方式X86系统32位和64位操作系统页表的管理共享内存的实现影子页表的工作原理前后端驱动的工作原理I/O ring的工作方式IO ring和网卡多队列的区别SR-IOV的原理pass-through的原理在线迁移的过程和原理dirty page是怎么判断的内存虚拟化的原理,内存是怎么映射的12一面 2020-03-19Github 有啥(刚开始听同学说面试官也会通过github看你的平时的积累,所以想着勤能补拙,没有牛逼开源项目,就注意每天把刷题代码与思路放上去)开始问项目 流程 优化。。。我做完好久了,真的忘记了一些细节。。。然后我开始暗示忘记项目细节说最近学Java

开始问Java

面向对象的理解 – 这里答得没到人家心坎里,我是从写代码的角度,人家想听的是概念性的理解,举一些生活化的例子,说我思维局限在编程类与对象的关系 此时我从生活的例子开始描述。。。对象实例化的方式 = 创建一个对象几种方式反射怎么创建对象给你一个编译好的.class文件,怎么加载这个文件对象怎么被实例化出来类放在哪里,static方法放在哪里,构造函数 静态代码块 还有静态属性 实例属性加载的顺序是怎样的Java 的代码有顺序么?还学过其他 动态语言么-Javascript?Java内存模型是怎样的栈放什么堆放什么创建一个线程池 放哪里-这里我说放在栈中(当时短路了),他开始记录,然后提醒我new出来的。。。创建线程池几种方式给你一个线程池,需要一个线程执行到5s就返回结果,你怎么实现 –遇到线程安全问题怎么解决你怎么保证你获得的锁是最新的,--- 我没听懂,然后他解释一下说数据库的丢失更新等等怎么防止你怎么知道产生了脏读,怎么预防?悲观锁-乐观锁Java 学了多久给一个abcdac 的字符串,找到 这个字符串任意路径不重复的最大长度。a-c b-c c-d d-a a-c比如输入(字符串, 位置1, 位置2)意思就是从字符串位置1到字符串位置2的不重复的最大长度 假如我问(上述字符串, 0, 5) 返回2解释:想问的就是a走到c的最大步数,a可以到b,b可以到c 这样就2步,a也可以直接到c,这样就1步给一个二叉树,里面是由26个英文字母构成,按照层序遍历从左到右开始一层一层排列(树已经建好,每个节点存储的是英文字母,一共26个节点),问给任意两个字母返回这两个字母的路径和二面 2020-03-19你最有成就感的事-我说项目开始怼项目,相当细节,一点一点从头开始说起。在跟面试官聊的时候,我才慢慢的会想起一些细节的东西。。。然后问项目里面用到的技术有没有什么优化呀,技术适用什么场景

Java基础

多线程有几种实现方式—手写出来Jvm内存模型堆的结构怎么知道对象什么时候被回收,怎么判断GC回收算法-怎么回收的开始写代码手写一个hashmap吧(这里是最骚的。。。最后我只是写了俩构造函数,Node节点定义,put get 。关于红黑树的都没写,反正写的不咋地,倒是写了很多注释,辛亏面试前几天把HashMap源码看了)13一面 2020-03-08绝对定位和相对定固定定位readystate 的值是什么含义js面向对象原理原型链ajax过程open函数的参数异步和同步的区别加载时候有什么不同数组的方法有哪些行内级怎么转换怎么删除一个属性页面倒计时的时间实现的哪里的时间options 协议请求方式14一面 2020-03-08

1.项目中用到的js有哪些

2.写出冒泡排序

3.数组去重的方法,for循环写

4.定位的五种方法和属性,及如何定位 CSS场景,出了一些问题问用什么定位

5.块级元素 行内元素,块级和行内元素的区别

6.手写ajax

7.jquery中类、id、元素 <div a="b">

8.所熟悉的状态码及代表的含义,404代表的含义,304的含义

9.如果请求的资源已缓存且未过期,但其中有bug,但已经重新更新了资源,怎么使浏览器访问新的资源? 可以在请求后携带随机的参数,每次就会访问新的资源10.盒模型 相邻盒子的,一个margin-left为10px,一个margin-right为0,后一个的margin-right(边际重合问题)

11,ajax请求中new背后干了什么,open中各个参数中代表的含义,get请求方式中参数加在哪,send(null)中null是什么

12。请求方式都有哪些,option了liaojiema

13.同步和异步,给一个场景说出同步的顺序和异步的顺序

14.new关键字的作用

标签: #原型ajax