永辉超市一面面经-10.13
  一面10.13下午4点-全程45分钟
 
   1.自我介绍 
   2.你对java的哪些东西比较了解?Spring和SpringMVC源码部分。 
   3.那你说一下如果解决循环依赖?三级缓存,巴拉巴拉一大堆源码... 
   4.说一下FactoryBean和BeanFactory的区别? 
   5.Spring事务是如何做的?SpringAOP,通过EnableTransactionManagement注解往容器中导入了一个BeanPostProcessor,还有事务属性源和事务拦截器(TransactionInterceptor),在执行目标方法时就被事务拦截器的invoke方法所拦截下来,去执行SpringAOP的流程。
 
   6.说一下JUC包下面的组件?CountDownLatch/Semaphore/CyclicBarrier/ConcurrentHashMap/ConcurrentSkipListMap。那你说一下跳表的实现?这个说不太清楚。 
   7.那你说一下List接口的实现类?ArrayList/LinkedList/Vector/Stack等。 
   8.口述一下DCL双检锁的代码?私有化构造器,getInstance方法static,private对象+volatile,if(null)+synchronized+if(null)+new对象。 
   9.第二个判空能去掉吗?为什么?不能,有可能对象创建了多次,保证不了单例。 第一个判空能去掉吗?为什么?可以,主要是为了提高性能,有些线程后面到来时判空就直接return了,不用synchronized进去加锁阻塞。  
   10.线程池的七个参数?BlockingQueue就不是JUC包下的集合类了吗?(因为上面的问题回答了组件之后没回答到这个,但是没想起来,所以...) 
   11.如何保证多个任务执行之后汇聚到同一点去进行计算?CountDownLatch/CyclicBarrier/ForkJoinPool。 
   12.那你知道Callable和Future吗?它不是也能做到吗?哦,确实。那你说一下它们的区别?区别,Emm不知道。 
   13.你知道AQS,那么你知道公平锁和非公平锁的实现上有什么区别吗? 
   14.你学过数据库,那你知道数据库的三大范式吗?不记得了,只知道其中一个不能有表中有表。 
   15.MySQL的事务隔离级别有哪些?RU/RC/RR/Serialize。那你能说一下它的中文吗?读未提交,读已提交,可重复读,串行化。 
   16.ACID,原子性,一致性,隔离性和持久性。那你能说一下四个单词吗?(还好我是通过英文去记的中文)Atomicity/Consistency/Isolation/Durability。 
   17.MySQL中联合索引a b c,查询条件使用b=x,a=y,c=z能使用索引吗?能,MySQL优化器进行了优化。那b>x,a=y,c=z呢,能使用索引吗?能(面试官犹豫了一下?) 
   18.MySQL中一个表id 学号 姓名 年龄 性别这些字段,哪些适合加索引,哪些不适合加?为什么?这个说了一点点。你知道加索引的原则吗?不知道,我懵了。 
   19.你学过操作系统那你知道操作系统中一个线程执行过程中,可能因为被抢占换到别的核心上去执行,那么它是怎么保证之前的执行结果不丢失的?Linux内核设计了内核堆栈,把上下文保存到内核堆栈中,下次继续执行时直接从堆栈中弹出来,就完成了上下文的恢复。 
   20.你学过计算机网络那你说一下TCP通过哪些机制实现可靠传输?确认、重传、滑动窗口、拥塞控制、流量控制等。那拥塞控制和流量控制的目的是什么?说了一点防止过多流量注入网络中。 
   21.DNS协议是做什么的?说一下域名解析的过程吧。 
   22.现在CPU都是设计了三级缓存,为什么要设计?应该是为了起缓冲作用,因为内存太慢了,需要中间有缓冲。那么为什么要设计成三级缓存?这个真不知道。 
   23.反问。问什么时候有面试结果?面试官说他也不知道,他直接转交给HR那边了,应该一周之内有结果。 
   感受:个人感觉答的应该还可以,祈祷二面! 
   10.20还没收到二面,Emm不会挂了吧。 
#永辉超市##面试题目#

 投递思朗科技等公司10个岗位
投递思朗科技等公司10个岗位