搜狗实习面试记录

前两天,参加了搜狗实习的面试。因为实习是一时的想法,没有做太多准备。第一天投简历,第二天就面试了。搜狗营销事业部的董先生面试的,总体来说表示的十分不好,好多地方都欠缺。特此把面试中的问题记录下来,留作后续复习使用。

设计模式

  • 选择你熟悉的设计模式,画出UML图。(策略模式、装饰者模式、门面模式等)
  • 你在项目中使用到了什么设计模式,为什么使用?

数据库

  • 如果要设计一个分布式数据库,你会怎么设计,需要考虑什么。
  • 分布式事务的实现方式。
  • 数据库的隔离级别。
  • 数据库加索引的时候,采用的什么数据结构。如果使用Like进行查询,使不使用索引。

Java异常

  • 异常有那几大类,ClassNotFound属于哪一类,这些异常有什么区别。
  • 在项目中构建的业务逻辑异常,采用的运行时异常还是检查异常。

Java并发

  • synchronized关键字加在一个静态方法上时,加锁的对象是什么。
  • 线程的状态转换图,wait和sleep的区别。
  • synchronized实现的工作原理是什么。
  • 什么是Java Monitor的概念,主要作用是什么。
  • 生产者和消费者模型,伪代码实现。

Java容器

  • HashMap的数据结构是什么,怎么实现O(1)的复杂度。
  • HashTable、HashMap和ConcurrentHashMap的数据结构实现。
  • ConcurrentHashMap的get,put和size方法的加锁的步骤和方法。

项目

  • 全国高考录取系统的架构图,你开发的模块要点。
  • 如果程序有性能上的问题,调优的思路是什么。
  • Java资源占用比较多,使用什么工具去查看资源占用情况。

算法

  • 26进制数的转换,27->AA

总结

  • 原来看过的书,例如设计模式、Java并发编程没有时常复习,现在一时想不起来。
  • 学习的课程,分布式数据库、大数据平台技术还是有些用处,需要整理和复习。
  • Java的基础知识还是牢固,需要经常总结复习。
  • 在项目上的问题,需要更深一步思考。

面试后,设计了一个自己的技术学习路线,主要从三个层次:

  • Java基础知识:设计模式,Java 容器,Java 异常,Java 并发等。学习完成后,完成一个小型项目的练习与开发。
  • Java进阶:Jvm 相关知识,Java 网络编程,Java RPC,Java 网络架构,CDN,Spring,Memcache等系统的架构了解。
  • 大数据架构:分布式数据库,分布式集群管理,大数据处理平台。

这次面试后,对自己触动很大。就想在大三去找的腾讯实习面试一样,打击后,毅然决然的选择了保研道路,并取得了很好的结果。但这次,已经是退无可退,迫切需要自己在技术方面做全面的提升。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-10/136306.htm
今日推荐