做网站时数据库要创建几个表,湖南长沙网站建设,电商平台的设计,广东网2019独角兽企业重金招聘Python工程师标准 面试题333 博客分类#xff1a; java 1、spring的缓存,mybatis缓存2、介绍下dubbo。A服务调用B服务#xff0c;B服务又调用C服务,这种情况怎么办3、JVM监控工具有哪些#xff0c;区别又是什么#xff08;如能追上各个… 2019独角兽企业重金招聘Python工程师标准 面试题333 博客分类 java 1、spring的缓存,mybatis缓存2、介绍下dubbo。A服务调用B服务B服务又调用C服务,这种情况怎么办3、JVM监控工具有哪些区别又是什么如能追上各个命令的使用监控显得更好,如何调优的就那么几个内存参数和GC参数什么时候配置什么样的?如何定位问题的就说各种命令gc日志快照监控工具4、使用过Solr?说说有面试特意想听从luence发展而来的可独立部署5、用过哪些MQ,各个MQ的区别不同点在哪(阿里还问了协议采用哪种语言开发的也说说比较好因为一些面试为了好跟踪问题确实考虑了这一方面)总之多说为益再就是apache新一代推出的MQapollo说说完全是加分项阿里面试者也不知道。6、根据你做过的东西让你说说某一功能或者模块7、java8了解过吗阿里问的时间API,集合的处理lambda怎么用的说说,函数式编程很多集合底层代码都有变动能详细说出来加分如hashMap集合底层代码变动网上是没有的别查了看JDK7,8,9源码就行本人建议最好把JDK78将要推出的9各种新特点熟记并全部动手编写下9暂时不能编写呢JDK9特性说上绝逼加分他也很可能不知道再就是CMS新生代并行收集器JAVA8不建议使用了很少有面试官知道java9淘汰掉了还有永生带被元空间代替即使阿里他也不知道绝逼加分。8、说说memcached(直接上原理说分配的过程再说注意点优缺点和哈希一致算法能联系起来更好前提一致算法要理解要能用代码实现否则面试着好追问你要不懂到起反作用了)9、有几种锁各个区别多说有益多说上底层的更好阿里还问了原理10、sleep和await()的区别补充上condition给自己加分11、线程池说说几种最好搞懂源码里的原理起码用的哪些队列能说说各自的使用场景说说都是加分的地方有什么注意点什么keepalivatime其他的什么的细的问题多多益善12、哪些锁不同的地方在哪说的越多越详细越深越好13、Threadlocal上来说原理再举个例子用用哪些情况为益14、线程池线程池如何解决死锁问题如何诊断一定要说上具体命令如何定位阿里还特意追问的从避免这种情况出发说如定时锁锁粒度等再谈一些监控工具和命令诊断啥的都会是加分15、常见的序列化方式面试官想让你说hession多说为益16、mysql与mongoDB如何选型什么时候用谁17、A,B两个线程同时启动但让A结束后B在结束如何实现多种多说为益他想问join,其他很多方式一些面试官都不知道绝对加分18、redis中wacth之后之后有事务提交未执行返回信息吗返回什么19、memcached和redis的区别很多把重点说出来及各自优缺点从原理上分析对比必是加分项可能redis原理他不懂的几乎家家公司必问20、mongoDB的干什么的在说说内存文件映射引擎持久化的2个过程必是加分项21、python了解吗主要用来做什么实现爬虫能实现吗爬虫技术知道的话多扯些有益而无害22、JVM的各个带说说说的越详细越好各个参数都说上什么情况下怎么设置参数更好和GC结合起来必加分JVM的GC为什么选择分带收集最好各个算法说上为什么这个带使用这个和G1的各个方面扯上必装逼成功加分因为几乎他也不懂因为G1也是采用化整为0的这种分开治理的思想23、ngnix,正向代理反向代理,阿里特意问了ngnix原理和apache的区别以及出个问题故意让你答和lua脚本结合然后会继续问你会不会写ngnix与tomcat的区别24、zookeeper干什么的说说多说为益扯上补充上如何实现分布式锁同步流程watcher机制代码流程选举算法绝对装逼99分分布式锁怎么实现额外说上尽可能避免分布式锁怎么避免为什么避免绝逼加分。阿里直接让说了选举算法描述大体过程和关键点即可不需要太详细了25、redis两种持久化方式过程优缺点最好说上26、复合索引的使用什么时候走什么时候不走举例27、如何实现session共享28、多线程下如何实现唯一ID多种技术多说为益越高大尚越好29、js闭包30、说说我游览器输入www.baidu.com之后怎么一个数据传输过程主要考网络模型31、7层模式都是那几个有哪些协议怎么传输的丢包问题粘包问题楚楚街特意问的32、java里有哪些集合接口这些集合的区别是什么说的越多越深越好再就是LinkedList的扩容机制hashmap的扩容机制注意JDK6,7,8好像都有变化说上绝逼加分项因为他也不知道也没注意过只是停留在JDK6上那个机制。33、java有几种基本类型挑出一种多大字节取值范围一个汉字多大空间占注意根据不同编码说而且不同的汉字如复杂汉字就特殊也是加分点我是根据UTF-8还追问了GBK34、sql执行的过程说说当时我只说了是9个过程但具体记不清了而且会有几个过程缓存住35、什么是笛卡尔积一个SQL语句where后边有很多and和组后group,limit怎么执行的具体说说36、设计模式你熟悉哪些然后挑出几个来说说具体怎么设计最好能画类图有6大关系搞懂扩展说上都是加分项再想加分就说对某个模式如单例有很多种最牛逼的一种是哪个牛逼的面试官有时也不知道37、说说mybatis的原理如果让你设计持久层你会怎么设计本人从扩展、灵活、性能几方面切入的38、让你画架构各种负载集群的那种特意问如果没有f5怎么着39、秒杀中超卖问题有多种方式实现让说说阿里那本书和一些博客中介绍的很多40、各种GC算法一定要熟记整个过程一丝不挂的搞熟练阿里让画画各个过程很多都问为什么这么做为什么分带收集按我前边说的把G1具体过程捎带扯上绝逼加分因为他们很少懂41、一些算法递归二叉树都要懂经常性的会面试的差不多了最后问你些数据结构方面熟悉吗自己要会园上。42、100阶乘几个零思考会快速回答上来面试第一次完全卡住了主要是否看真那么钻研问题阿里的其实想想也挺简单只不过那种场景让你快速答出我是思维有点乱了43、内存资源很有限但是相同的操作不断的分配和释放内存内存已经被这种频繁的操作被分配很多了怎么优化说实话题目我也没真正搞懂说了下缓存区他说是一方面说其他的什么多线程看样子不是那样的阿里的44、很大的字符串文件怎么统计某个字符串出现的频率其实考你拆分思想用多线程去处理具体怎么拆分阿里的人也只说用脚本说主要考你拆分的思想说让JAVA API和Guava处理这种简短字符串情况的API绝对是加分的45、Guava用过哪些API具体说说46、JVM的各个带说说画画说的越具体越好结合上调优和GC各个命令和参数配置绝逼加分越细越好细的他都不知道必加分阿里的人具体还追问了参数怎么写辛亏我知道常见就那几个47、倒水问题5升和3升如何称出4升水其他技术都回答的差不多最后问的逻辑题48、mysql中2个引擎的区别几乎家家必问49、mysql中char与varchar的区别什么情况下用char比较好int(5)类型字段如果存的数据超出大小会怎么样50、悲观锁、悲观锁解释解释还有脏读和什么读一堆挂读的概念问我怎么理解他们醉了还有事务ACID分别说说什么叫原子性什么叫一致性事务的隔离级别哪几种51、redis的事务,watcher,当watcher事务提交失败会返回信息吗返回什么信息52、连接池用过哪些阿里特意问了druid的特点特点好多多说为益为什么采用连接池53、dubbo的整个调用过程让画画就是那4个服务端启动注册消费端订阅那个RPC的过程最好能顺口说出加分项。还有问dubbo服务端和消费端都配置了那个生效dubbo里的jetty干啥用的 54、zk除了做分布式锁和注册中心还能用来干啥55、重载和重写的区别越详细越好说的越多越好56、接口和抽象类区别越详细越好及为什么需要抽象类57、时间片解释下上下文切换解析下什么情况下会影响上下文切换怎么避免过多的上下文切换58、一个线程从连接池里获取一个连接connection后然后这个线程开辟了2个子线程把这个connection传给它俩个提交数据会有影响吗为什么现在想想自己解释的有点牵强应该从事务的传播行为和级别入手也可能其他肯定面试官自己使用不当遇到的bug问题,如有合理解释的或者特意能做了实验的一定要告诉大家一声59、什么叫复制构造函数构造函数的重载60、JVM的内存分配要熟记越细越好61、TCP的三次握手四次拜拜要熟记62、浮点类型为什么有时候不精确详细说出来怎么解决63、int类型在32位和64位有什么不同64、zk分布式锁具体怎么实现58美团的都问了最好亲自用代码编写下思路搞懂65、给一个字符串类型的数字不调用java直接转的API写一个方法转换出来58的不知道那个技术老大想考啥思路就是转字符数组利用ASSII编码问他弄这个干啥他也不说66、给我几张表写几个个SQL我之前利用子查询后来他说不利用子查询一条sql查出来其实就是连接查询group和count然后再利用统计的数过滤下其中count(*)和count(1)和面试官争辩了起来他也不确定后来就过了美团的67、写个单例模式其他有很多种我也知道他想考啥但是想加分写最好的2点兼顾的利用私有静态内部类网上提到的很少优化书中的面试官认为我是错的让我确定下后来给他讲通了68、熟悉哪些设计模式然后让你简单说说58让写的代理把各个类图之间的关系说清楚及接口的设计加分的69、代理有几种静态代理和动态代理有什么区别什么情况下用什么具体说说70、让我说下OOP里的单一原则的定义他说这个定义非常重要非要我说出定义我拿出具体的设计实例说明哪些地方设计体现单一原则他还是让说定义美团的醉了定义我肯定没仔细推敲过大家可以推敲下71、JVM的内存分配内存溢出内出调优GC调优GC算法G1收集器还有参数常用参数名美团的那个人一直让我说哪个具体参数名字我说JVM虚拟机参数列表一查就知道了知道那是工具就行我看他的样子可能也没记住还是拿着笔记本查呢醉了最好几个常用的记住看样子也是有意而无害的我都记个大概的样子如何调优如何具体优化举例子越细越好什么阀值具体到什么GC算法在什么情况下怎么设置他的什么样的参数越细越好还有问题诊断具体怎么定位最好前提你说上基于java的哪个版本规范哪个虚拟机因为不同版本不同虚拟机肯定有所不同能说出来必加分(呵呵装的你多严谨如装逼成功肯定加分)72、NIO与IO的区别什么情况下用谁具体说说例子73、dubbo支持几种协议协议的区别容错机制什么情况用什么RPC的过程dubbo是如何实现负载均衡的源码级别负载均衡策略改过监控的中心吗如何优化调用怎么部署zk挂掉3个挂掉2个会怎么样为什么看过dubbo源码吗74、哈希一致算法具体描述下最后自己用java实现下或理解了为什么要用hash一致算法75、在CPU不考虑的情况下内存有限的情况下计算最大并发数大概多少linux下有很多注意事项会约束给他说说他可能也想不到都是加分的然后再让你不考虑这些因素怎么计算说说也和系统位数有关也有对应的计算公式76、在内存不考虑8核CPU挂起时间好像是单个线程执行任务时间30msCPU满负载最大多少并发其实他当时也没说清楚后来追问下补充了响应时间1S77、给你写出2个数组在纸上写个方法查出相同的元素想考细节把大体写出来之后给他说明一些特殊情况的处理继续追问如何优化这个方法说说自己的见解如相同元素很多的情况用什么瞎吹呗最好把JDK,commonsguava的相关API说下再说名你的理由啥的都是加分的78、linux命令用过哪些说的越高大尚越好常用的肯定要说上79、乐观锁问题一般不直接问给你说个分布式场景用时间戳版本号啥的解决80、CAS知道吗说说多多益善说上ABA问题必加分有时面试官也不知道扯上volite和锁区别什么场景下用谁必加分81、让画ER图时序图82、一个类里几个静态方法和几个普通方法几个静态方法里有几个加synchronized普通方法里有几个也加synchronized这4种方法组合情况各个情况下同一个实例在多个线程里用到时阻塞不阻塞问题83、tomcat里有几个端口的配置同一个tomcat能同时配置2个端口吗84、tomcat里如何禁止服务端自动创建session85、servlet和过滤器监听器servlet启动顺序是什么样的86、spring的核心配置文件名是什么具体描述一下里边的重要的配置,spring和mybatis集成的后的配置文件又怎么配置需要配置什么,spring和springMVC的区别87、mybatis的配置文件怎么组织的如何配置88、spring的AOP和IOC具体描述下干什么的怎么实现解偶的它们是底层通过什么实现的89、类加载有哪些机制是什么类初始化的时机那4个有哪些90、一个对象为null一定会被GC掉吗肯定不会至少有2个过程给他描述下越细越好他可能也不知道楚楚街问的91、final static 和static初始化都是什么时候初始化的92、静态代码块和普通代码块有什么区别什么场景下使用93、shell脚本写过吗就一家问到了就简答追问了下开头的声明干啥的94、看过哪些书籍平常怎么学习这些知识的95、conncurrentHashMap和hashmap的区别6,7,8可能都所不同能说出来必加分他可能也没注意过不说也没关系96、mongoDB,redis分片主从有问到问到了都是简单问问一般都是自己补充上其他东西最好都要清楚加分的也以防万一,redis持久化2种方式有哪些问到有然后你追加一些注意事项97、平常你遇到的一些不规范性问题能再优化的问题具体说说例子98、ngnix具体怎么配置切换服务器和负载均衡策略说说具体的配置地方99、那些并发工具就不说了最好都知道干啥用的问到也有但是很少不知道到问啥100、netty和mina到时有提到的但是就是简单问问知道吗用过吗这些问题当然自己对它们越熟练越清除越好101、tomcat具体在哪配置连接池能配置哪些信息102、java反射类的私有方法与普通方法相比需要多处理什么103、java中有哪些集合这些集合有什么区别arrayList和HashMap的扩容机制集合说的越多越好各个集合都有什么区别什么场景下用什么注意些什么有些678有不同能说出来更好104、zk有哪几种类型的节点又有哪些监听事件具体说说105、用过哪几种抓包工具报文结构106、如何中断一个线程线程在那种状态才可以中断分库分表原则具体什么场景采用什么举例子分布式事务问题AIO索引原理等还有很多问题没问到不过如果熟练掌握以上知识即使一些其他的不懂也会是瑕疵不影响整体印象再结合下边几点作为补充技术面试国内任何一家公司包括阿里都是没问题的吹的有点大只适合装逼人士一本正经者吹毛求疵者勿看。如果你已面试欢迎补充面试技术点你我码农共同进步1、Spring.mvc的优势原理流程2、Mybatis的原理优势3、集合里面那些对象的原理4、扩容原理特别是map的底层5、Hashmap、Hashtable和cocurrentHashMap的区别要讲出它们各自的实现原理才行比如Hashmap的扩容机制、cocurrentHashMap的桶分割原理、多线程安全性。6、几种造线程池的方法区别7、Rpc原理8、Nio和netty常用的接口9、Redis和数据库的持久化的10、Memached过程和原理 11、多线程时间复杂度12、Redis做队列的原理13、zk做订阅的原理底层14、Juc里面的锁原理15、实现自己的hashmap16、treemap红黑树17、jvm调优18、jvm内存模型19、类加载器机制20、数据库索引21、数据破坏索引22、手写快排23、js闭包24、nio是否了解 阻塞之后通知机制是怎样的25、Java 的序列化做什么用的 序列化id会出现哪些问题26、 在Java中Executor和Executors的区别27、 为什么使用Executor框架比使用应用创建和管理线程好28、怎么通过linux命令去分析jvm里面那个线程阻塞了29、Java中用到的线程调度算法是什么30、什么是多线程中的上下文切换31、classloader结构是否可以自己定义一个java.lang.String类为什么 双亲代理机制。32、有没有做过jvm内存调优如何做的举例子用过哪些工具 33、Java中的volatile关键是什么作用怎样使用它在Java中它跟synchronized方法有什么不同34、面试官从简历里抽了一个较感兴趣的项目让把项目简单介绍了下针对项目问了几个技术问题35、 介绍Java中垃圾回收机制程序员平时需要关注这个吗为什么请举例说明。36、数据库隔离级别介绍、举例说明。37、override和overload的区别。38、求二叉树的最大距离即相距最远的两个叶子节点写代码。39、 两个栈实现一个队列写代码。40、 你觉得你的优势是什么有什么技术薄弱点吗41、数据库sql调优慢sql定位42、索引有哪几种区别使用场景43、mysql引擎哪几种区别使用场景NIO原理内存模型GC,锁机制传统IT外企干了8年两年前转互联网的面的和被面的都不少。 这几天项目空档期闲的蛋疼随手写的 不喜勿拍。 1. 算法基础 写java的基本上都是做应用系统的用到算法的机会几乎没有所以一般不会考。但是如果工作年限比较长保不齐面试官怀疑你的编程能力故意要考考所以快排、堆排、逆转链表、遍历二叉树之类的基础还是复习复习吧。 如果面的是bat核心部门担心碰见装逼人士的话也可以提前复习下《编程之美》之类的。 2. java基础 hashmap面试官最喜欢考一定要搞明白原理。 treemap知道就可以应该没人闲的蛋疼考红黑树。 threadlocal面试官也喜欢考要搞明白原理 反射、动态代理、ioc、aop复习下吧几乎必考 nio、aio几乎都会问抽空写写例程知道netty mina class loader: 知道双亲委派如果知道tomcat、jetty class loader异同更佳 3. gc gc很多面试官都喜欢考 面试前背熟各种gc算法的区别理解原理。 G1很多面试官自己都不明白没时间就不用管。 4. 高并发 传统IT一般接触不到高并发不过没关系按下面说的做应付面试问题不大 把java.util.concurrent下面所有的包和类通读一遍理解原理、记住核心代码、写例程网上有很多concurrent相关类原理解析的文章对着文章看源代码理解起来问题不大。 有些类代码很复杂比如aqs看不明白就算了也不用太花功夫记住原理即可因为大部分面试官也不明白。 一定要写例程例程最好跟你的业务能扯上一点点关系这样面试的时候就是你实际项目里面的代码了。 面试官喜欢考的类有ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue 5. hdfs和mr 传统IT一般也接触不到如果不想准备就算了如果想准备的话就在自己的开发机上撘3个linux虚机 按照网上的教程自己一步一步撘一个hadoop环境出来然后找几个实际业务中生成出来的log写几个mr程序处理一下。 面试的时候就可以很谦虚的说实际项目里面用过但是用的不多 6. application server websphere、weblogic、jboss之类的就不用准备了应该没人问你这些啦。 有时间的话看看tomcat和jetty的源代码重点看线程模型和io这将是一个很好的加分项 7. 数据库 oracle、sybase、db2不会有人关心了如果之前没用过mysql的话找本介绍innodb原理的书好好通读一遍吧。 理解myisam和innodb的区别 理解关系型数据库索引的原理理解一些简单的索引优化的原则。 面试官很喜欢给出一堆where子句考索引、复合索引什么情况下起作用 8. 缓存 一致性哈希很多面试官喜欢考提前准备下吧。 9. ssh框架 这些没搞过就没搞过吧这种框架层面的东西对于一个有经验的java码农学起来也就是分分钟的事情。 不过你也可以说这些我没用过但是我知道原理然后说一堆动态代理、cglib的原理出来也是加分。 希望这些对传统IT想转互联网的朋友有帮助。not in 与 not exists 有什么区别? in查询不对null进行处理二分递归还有冒泡就差不多了 转载于:https://my.oschina.net/xiaominmin/blog/1597653