Java面试题,直播

李晚晚 2018-03-12 02:42:49
加精
哈哈哈,很久没来csdn了,最近刚入职一周就撤了,只能再次重新找工作。
今天起,记录每次面试中的面试题目,一方面以表记录;另一方面分享出来,也期望可以看到筒子们的答案,集思广益。
今天面试一家小创业公司,面试问题如下:
1、组合索引是什么,建立组合索引有哪些原则,索引的存储结构是什么,b树和b+树的区别
2、数据库的隔离级别是什么,mysql默认的隔离级别是什么,不可重复读这种隔离级别是什么机制实现的。
3、数据库的锁有哪些,互斥性
4、系统a调用系统b的接口,如何保证数据一致性,比如调用b接口的时候,b里面的功能操作成功,但是返回a系统的时候超时了,造成a系统以为b系统没有操作成功,如何保证数据的一致性,有什么机制。调用b的失败重试次数要如何实现
5、a系统调用b系统b系统调用了c系统,如果用线程池的话,如何分配。这个题目我不懂什么意思,因为个人菜鸟,对线程池不太了解
6、mybatis中防止sql注入是怎么实现的,如果一个where条件中有like %abc%这样的条件要如何实现
7、redis在你们项目中的使用场景是如何的。我回答的就是缓存某些配置类数据,他接着问,如何保证redis配置更新的时候通知到每台机器。
8、你还有什么要问我的吗?
哈哈哈,首战以失败告终,除了前3个回答了一些,剩余的都水得不行,再接再厉吧。加油。
...全文
9413 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2020-09-28
  • 打赏
  • 举报
回复
还是版主威力大,一下回答出了好几道
cc1aymore 2020-09-27
  • 打赏
  • 举报
回复
一周就撤,删库跑路
weixin_45620869 2019-12-06
  • 打赏
  • 举报
回复
感谢分享,祝成功
哈哈菌 2018-05-07
  • 打赏
  • 举报
回复
感谢分享,祝成功
  • 打赏
  • 举报
回复
引用 21 楼 weixin_39235503 的回复:
其实都是面试造火箭,工作拧螺丝,面试问了那么多底层原理的东西,工作很少用的上,不刷面试题很难答上来。
哪里可以刷面试题
xyycxlz 2018-04-30
  • 打赏
  • 举报
回复
谢谢分享!学习学习!
nmb123cnm 2018-04-24
  • 打赏
  • 举报
回复
我就看到了一点:一周就撤了!
qq_39704122 2018-04-17
  • 打赏
  • 举报
回复
刘正权 2018-04-13
  • 打赏
  • 举报
回复
好好准备,祝你早日面试成功。
刘正权 2018-04-13
  • 打赏
  • 举报
回复
1、参考楼上哥们儿的意见。 2、 (他们公司肯定又很多老项目,老sql,呵呵了~~) 我之前写sql很多,现在都不写sql、不优化sql了,现在都是运维监控那条儿sql耗时,我们就把它整到内存中来,换一种方式实现。 当然中间会用到explain分析之类的,看看查询时有没有用到索引,看看业务的合理性。 3、监控要怎么做,这问题问的好可笑。监控项目无论大小,都要根据需求来,工作中,大量需要人工盯着的东西,都需要进行监控。有监控就要有报警。任何环境出现异常,都要及时监控到并发出报警,这就是监控。 4、 redis的五种数据结构:字符串、列表、哈希、集合、有序集合。 5、spring-core源码的知识。 BeanFactory是Factory工厂,是接口,这个系列实现了容器最基本的功能,高级功能由ApplicationContext实现。 FactoryBean是Bean,是实现类。你配置文件里写的xml,或者Java代码里面注解的类,就是FactoryBean。 6、 楼上哥们儿说得很好: 2叉树是非平衡型的 而红黑色树是自平衡的,每当插入一个值会查询数据并得到一个中间值放置到顶,然后重新生成一次树的平衡结构 这样的话效率会高点 7、 treemap底层是二叉树结构(红黑树) hashmap采用哈希表进行存储 平衡二叉树是完美主义,要求绝对的平衡,每次插入数据,需要旋转转换多次,且次数不可预知; 红黑树是改良版,追求大致平衡 (讲真,这个需要找本算法书好好看一遍。一遍懂了,以后就是复习了,简单省事儿。我也会忘,每次面试时,也都是搞出来翻一遍)
刘正权 2018-04-13
  • 打赏
  • 举报
回复
1、 这道题考你,创建的复合索引什么情况查询管用,什么情况查询不管用 我们读书,目录就是索引。为了让我们快速找到所有的记录。在表的一列上加索引,就是单索引;在表的多列上加索引,就是复合索引。 复合索引的创建方式与单一索引的方式一样。 能用使用索引的情况是:where后面的条件的顺序符合创建的索引字段的顺序。 MySql的InnoDB引擎,使用B+tree的方式存储。 B+tree是Btree的变种,能够减低树的深度,存储更多的叶子节点。 2、考你数据库的基础知识:隔离级别 数据库的隔离级别四种:未提交读、提交读、可重复读、可串行化 mysql默认是可重复读; Oracle默认是提交读。 可重复读隔离级别,可以理解是快照。每个事务,都会去读自己的快照,所以才能够可重复读到。 3、 InnDBm锁: 共享锁、排它锁、意向共享锁、意向排他锁。 共享锁:允许事务读,阻止其他事务的排他锁; 排他锁:允许 拥有排他锁事务更新数据,阻止其他事务获取相同数据集的共享锁和排他锁。 4、考你分布式系统的应用 a可以多次调用b,如果某一次b执行成功了,a超时。那么a再次调用的时候,b直接返回成功就可以了。这种要看具体的应用场景; 也可以像楼上哥们儿说的:b提供一个单独的查询状态的接口,供a查询。 5、这应该考你线程池线程数的设定 表面意思,都在调用c,c被调用的次数多,那么线程池中线程数应从a到c,依次递增。 6、略 7、redis作为缓存,一般用于存储需要短期存储的数据;像共享的session,也可以存在redis里面。 工作原理 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。
jq_15361628391 2018-04-10
  • 打赏
  • 举报
回复
静态代理很动态代理的区别:静态代理需要继承被代理对象,调用时必须调用代理对象。动态代理,无需继承被代理对象,只需实现jdk动态代理接口,利用反射调用被代理对象的方法,同时植入自己的方法。 spring aop是动态代理模式。 cglib和aspectj的区别,我还真忘记了,看来要百度一下了,只记得aspectj比较高级,是通过编译后的代码动态字节码植入达到增强效果的。有个asm的这个东西,忘记的比较多了。
Ai_SH 2018-04-08
  • 打赏
  • 举报
回复
我倒是很感兴趣啊.可惜还是个菜鸟, 要先学工作能用到的找个工作吃上饭,这些深奥的只能有空再研究了
丶太阳 2018-04-08
  • 打赏
  • 举报
回复
关注关注,多学习,现在很多面试问的都比较底层,确实考验知识量,但我估计一部分猿们的都没深层研究过当然也包括我,只是当工作来做吧
  • 打赏
  • 举报
回复
楼主加油,继续发帖,持续关注中。
候你多时 2018-04-02
  • 打赏
  • 举报
回复
像我这种菜鸟什么时候才能找到工作
ak471991928sun 2018-04-02
  • 打赏
  • 举报
回复
路过看看不说话,努力学习
咆哮0 2018-04-02
  • 打赏
  • 举报
回复
路过看看不说话,努力学习
木子0204 2018-04-02
  • 打赏
  • 举报
回复
6 的可以这么写 #{xxx},使用的是PreparedStatement,会有类型转换,所以比较安全; ${xxx},使用字符串拼接,可以SQL注入; like查询不小心会有漏动,正确写法如下: Mysql: select * from t_user where name like concat('%', #{name}, '%')
秦大圣 2018-03-31
  • 打赏
  • 举报
回复
看看,不说话的
加载更多回复(19)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧