首页 > 金证科技股份有限公司社招Java工程师(三面)
头像
白驹之过隙
编辑于 2019-11-22 18:10
+ 关注

金证科技股份有限公司社招Java工程师(三面)

  1. 自我介绍---------------略
  2. 谈谈你对并发模型的理解?------------------多线程协作完成所分配的作业,涉及到线程间的通信交互。并行工作者模型:传入的任务被分配到多个工作者,每个工作者从头到尾完成所负责的工作,所以提高系统的并行就通过添加更多的工作者。流水线模式:每个工作者只负责作业的一部分,但流水线也可以有多条。函数式并行模式:……
  3. 线程中sleep/interrupt/join方法的理解?-------------直译过来就是线程的休眠/中断/等待另一个线程结束在执行,没什么技术含量……。
  4. ThreadGroup的了解?--------直译过来就是线程组集合。对每个线程都可以通过getThreadGroup()查看组内的线程名称等信息。通过线程组便于管理组内的所有线程,特别是一些统一的操作,不用一个个地对线程进行代码的控制书写。
  5. Java同步和锁的理解?-----------主要是针对多线程对共享资源的操作而引起的问题,synchronized对方法/同步块的修饰。以及各种锁的概念:对象锁、类锁、偏向锁……实际上锁的问题以及各种锁有很多,这一点我也很难全部说出来。。。。
  6. 说说你对线程池的了解?-------这问题有点太宽泛了吧,个人觉得完全属于没有针对性地发问。只能自由发挥了,从引入的背景原因(高并发服务器的大背景下,每个请求都要创建线程、上下文切换、销毁线程会消耗大量的系统资源),引入了什么(Executor接口及其子接口和类)最终executors类的实现包含了线程池和任务队列,至于执行原理画个草图阐述……
  7. 简历上有搜索引擎相关的罗列,谈谈你所了解的搜索引擎?-----------这又是一个不着边际的宽泛问题。。。。首先答了解两个,一个Lucene,还有一个ES。Lucene是一个提供了相关API的类库,引出的原因就是取代数据库本身的like模糊搜索局限僵化的硬字码搜索,没有什么自动识别相似度的罗列,以及高亮显示。原始文本数据需要转化成一个document对象,并分词,然后对分词建立索引,获取用户的提交文本信息也要进行分词,搜索匹配成功后将结果渲染返回。ES则是一个需要安装的应用,需要在JDK环境下进行安装,还要安装分词器……
  8. 聊项目,如果做一个秒杀系统,你需要怎么考虑?-----------个人感觉不是考察具体针对性的知识点,而是通过工作项目经验考察应聘者的知识广度。秒杀系统首先在前端用户考察的是用户量并发请求,以及恶意请求的拦截和验证,既然涉及到大并发,后台管理方面考虑负载均衡服务器,分布式服务器,缓存数据库……一天原则就是站在用户的角度不允许出现用户访问过大造成服务缓慢乃至无响应的问题。顺便把用到的那些开源架构引入到项目中的理由,说白了就是这个开源架构的作用是什么,都阐述一下……
  9. 你工作中的项目有遇到过那些棘手的技术难题,怎么解决的?------------------这属于每个人经验问题,各有不同,基于自己的项目回答即可……。
  10. 算法方面怎么样?--------------个人一直以来是做项目业务的,所以对算法仅仅是个皮毛,拒了算法问题。
  11. 后面和HR的侃-----------省略

总结:针对性主要是多线程、并发类问题,宽泛类主要是项目经验所用到的技术进行的发散性思维问题


更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖