zoukankan      html  css  js  c++  java
  • 搜狗实习面试

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

    设计模式

    • 选择你熟悉的设计模式,画出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等系统的架构了解。
    • 大数据架构:分布式数据库,分布式集群管理,大数据处理平台。

    这次面试后,对自己触动很大。就想在大三去找的腾讯实习面试一样,打击后,毅然决然的选择了保研道路,并取得了很好的结果。但这次,已经是退无可退,迫切需要自己在技术方面做全面的提升。
    这是第一次在CSDN上发博客,以后会督促自己经常发,构建一个比较系统的技术学习路线。
    加油!不积跬步,无以至千里!

    (本来想在CSDN写博客,但是不支持拖拽上次图片,十分不友好,因此选择博客园。后续会推出自己的博客,敬请期待。)

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/zhangfei614/p/5985229.html
Copyright © 2011-2022 走看看