• java研发面经:滴滴、美团、网易、58赶集等


        今年秋招我的面试大致结束了,差不多把提供北京java岗位的互联网公司大都投一遍,也获得了几个面试机会,在这儿把面经都和大伙儿分享一下吧。
    1、滴滴
        滴滴面试安排是如果你通过了一面,那么就优先安排后面的面试,所以导致还没一面的人就得一直苦等。那会儿我是下午一点去的,大概到了快4点才进行一面,后面就嗖嗖嗖地过关斩将到了hr面,也算是运气不错吧。
    交叉1面
    垃圾回收算法
    (代码)01矩阵,相邻的1是一个岛屿,找出所有岛屿数(递归解决)
    有关注过开源社区吗,都看过哪些源码
    AtomicInteger实现原理(CAS自旋)
    synchronized和reentrantLock区别
    介绍spring的IOC和AOP,分别如何实现(classloader、动态代理)
    redis如何处理分布式服务器并发造成的不一致(本身就是单线程序列化的隔离级别),如果数据库不提供隔离呢
    OSGi的机制(因为简历写了)
    交叉2面
    2个鸡蛋,100高的楼,最少的次数测出鸡蛋碎掉的临界层,没碎的鸡蛋可以反复用(没做出,应该是14次,网上有解法)
    大量字符串找出数量最多的K个,考虑内存放得下和放不下两种情况
    解释mysql索引、b树,为啥不用平衡二叉树、红黑树(磁盘和内存的存储方式不同)
    垃圾回收算法,为什么要分代处理
    跳表(不熟,没继续)
    IO(不熟,没继续)
    epoll(不熟,没继续)
    一致性hash
    zookeeper如何同步配置(不熟,没继续)
    讲下java锁的原理
    ConcurrentHashMap原理
    BOSS面
    (代码)最长回文子串
    GC停顿原因,如何降低停顿
    JVM如何调优、参数怎么调
    如何用工具分析jvm状态(visualVM看堆中对象的分配,对象间的引用、是否有内存泄漏,jstack看线程状态、是否死锁等等)
    进程和线程区别
    epoll和select区别(不熟,没继续)
    解释mysql索引、b树
    hr面
    五个词来描述自己
    长期的计划
    兴趣爱好
    期望薪水
    对岗位的要求
    已经拿到的offer
       hr告诉我滴滴主要的事业部用的是c和php,进来后发现公司内已经逐渐在用golang替代两者了,但是使用java的部门也有不少。
    java岗面
    (代码)含Double数据的list,找出最长连续递增序列的长度(连续递增比较简单,看你代码质量)
    找出最长递增子序列的长度,说思路(dp算法,复杂度O(n))
    mysql中int的最大填充长度(我记得是255,后来查了也是255,但被告知是错的……),varchar不同编码下的存储字符个数
    写SQL,多表连接查昨天的第二多的值
    js题,考察闭包

    2、美团
        美团的面试安排在下午,不用早起真好~ 等候区就在1楼,工作人员供了面包和一次性杯子,旁边就是运动区,有跑步机、乒乓球桌、桌上足球及一些运动器材,感觉环境还是很不错的(此处应该吐槽下京东,场面极其混乱)。
           面试一共三轮,会有工作人员叫名字让你进去面试,就是中间的等待有点久。每轮通过的话就会留下来接着下一面,没过的话工作人员会告诉你“很抱歉,你今天的面试已经结束了”,特别是在漫长的等待中,周围的人一个个被“很抱歉”,那个心理压力可不是一般大。然后就是全部的面试经过,大概整理了下,发现运气还不错,都可以答得上来。面试问题只是参照,面试官会根据你的简历来问针对性的问题,而你也可以引导他来问你擅长的领域,当然有些基础的东西还是必须了解的,比如jvm、spring框架、持久化框架、数据库之类的。
    一面
    介绍实习经历,讲项目
    解释https (先公私钥加密,再对称加密) 为什么不直接公私钥
    jvm中类加载过程,解释双亲委派加载,及类是在哪个加载器加载的
    传值、传引用 传入对象引用,指向一个new的对象,问主函数里的会变吗
    找出数组中最多的那个数,除了hashset还有没其他方法(只想到蒙特卡罗法)
    (代码)输入合法的数字字符串,输出货币字符,就是每隔3位加个逗号,考虑边界处理
    (代码)有1-10 10个数,和一个数sum,计算用10个数连加得到sum有多少种系数组合(递归)
    二面
    自我介绍,讲项目
    spring中bean加载机制,bean生成的具体步骤
    ioc注入的方式
    spring何时创建applicationContext(web.xml中使用listener)
    listener是监听哪个事件(ServletContext创建事件)
    springMVC流程具体叙述下
    synchronized和reentrantLock的区别,synchronized用在代码快、方法、静态方法时锁的都是什么
    介绍ConcurrentHashMap原理,用的是哪种锁,segment有没可能增大(不会,只会增大每个segment中的entry数组)
    如何实现高效的同步链表
    (代码)层次遍历二叉树,偶数层输出逆序输出(队列,用一个标记记录每一层的结束,统一输出当前层)
    三面
    介绍实习经历,讲项目
    (代码)给定一个字符串,写出所有可能的全排列(递归)
    剩下的就是问一下hr面的问题:
    怎么理解踏实,你在项目中哪儿体现到了
    最近最有成就感的事
    你的优点 缺点
    最近在看的技术
    是否写过其他个人兴趣的小项目
    写技术博客吗,github呢
    个人职位目标
        三面的面试官还是很nice的,最后的部门好像也是由三面的来挑。面试结束第二天就让签了两方,待遇也没得谈。

    3、网易
       面试等待时间赶超了滴滴,上午10点等到下午两点才刚开始一面。hr面结束都5点多了,正赶上下班高峰期,公交又堵了好久,回去后感觉浑身都已经无力了。
    一面
    介绍了下阿里的实习项目,问了下对SOA和OSGi的认识,以及之间的关系
    项目中遇到的最难忘的问题,如何解决的(网上搜索、问经验丰富的、断点调试跟进源码、技术论坛发帖)
    问了擅长的java领域,针对性提问(jvm、容器、并发)
    介绍jvm内存机制(把各个内存区域作用、回收算法、收集器分类统统说了一遍)
    创建线程方式(实现runnable接口、集成Thread、线程池)
    java都有哪些加锁方式(synchronized、ReentrantLock、共享锁、读写锁等)
    想让所有线程都等到一个时刻同时执行有哪些方法(介绍了下CountDownLatch和CyclicBarrier)
    volatile的作用(使变量对所有线程可见,同时禁止指令重排序)
    都用过哪些java容器,LinkedList都一般都在什么时候用到(经常插入删除时、实现队列和栈时)
    介绍ConcurrentHashMap(分段加锁,几乎每个面试都问这个。。。)
    Object里头都有哪些方法,着重问了clone(深复制还是浅复制)、finalize(一般在什么时候用,回收时一定能被运行)
    二面
    问题和一面差不多,很多重复的就不说了
    如何管理线程(介绍了各种线程池的实现)
    如何让线程A等待线程B结束后再执行(join、单线程池),还反问单线程池真的可以吗,所以大致和他介绍了下阻塞队列的机制
    如何优化jvm参数(堆大小、xmx一般和xms设成一样大、永久代大小、收集器选择、收集器参数、新生代对象年龄阈值等)
    hr面
    很少见的男hr,性格温和,谈起来很轻松愉快
    介绍所有的项目
    对在阿里的实习如何评价,对mentor如何评价
    在阿里有没什么让你比较惋惜的地方(内部论坛资源非常丰富,都是大牛的知识帖,后悔看得太少)
    喜欢何种风格的领导,是严格的技术型还是宽松的管理型
    你的职业规划,转管理还是一直技术
    喜欢的兴趣爱好
    针对我写到的旅游又问了,去哪儿旅游过,通常都是如何准备一次旅行的(查各种攻略、做旅行计划,叫上小伙伴),是否写游记呢(很少),对写游记的人如何评价(为他们点赞~)
    最近在看什么书籍呢(各种技术类书籍)
    是否能提前来实习
    已经拿到的offer
    目标薪资

    4、58赶集
      58就在798旁边,面试完后特地去在寒风中感受了下艺术气息。签到的时候可以看到自己笔试的分数,貌似是按分数排的面试顺序。不想更加纠结所以放弃了二面。
    一面
    终于遇到一位年轻且头发还算茂密的面试官了,还蛮热情的
    闲扯了下项目
    介绍spring的IOC和AOP,容器的概念(本质就是applicationContext管理了classloader)
    bean的创建过程
    手写TCP三次握手(最好把状态也写出来),每次请求的序号是如何变化的
    TCP如何控制拥塞(拥塞窗口、慢开始、拥塞避免、快重传、快恢复)
    (代码)N个男生,N个女生,给出所有排列方式,其满足在任意i处(范围在[0,2n-1]),0-i的女生数都大于男生数(递归实现)
    知道哪些排序算法,介绍一下快排

    5、京东
       在某天晚上突然收到第二天早上去京东面试的通知,而且用的还是电话语音,9月22日读成九点二二 是什么鬼!面试现场比较混乱,一边的人在排着队,一边是有负责人出来循环播放“XXX在吗”……当天只安排一轮面试,大约等了一小时才见到面试官,面试官貌似是做管理的,技术性问题不多。介绍完项目后提出了一些场景问你如何解决,如何实现分布式,一般在哪儿用redis等等,面试过程很短一下就结束了。回去后半夜又收二面通知,又是那个电话语音,我当时的内心是崩溃的……但是面试时间和美团的冲突了,并且根本找不到hr联系方式,京东的面试就在此止步了。

        还有几家公司的面试,要么不大合适,要么就是跪了,就不细说了。希望大伙儿都能找到满意的工作,特别是到了校招后期,心态可能会变化比较大,可以来场说走就走的短途旅行缓解下压力,不要过于苛求自己,祝一切顺利!



  • 相关阅读:
    thinkphp SAE
    thinkphp rpc
    thinkphp REST
    thinkphp 图形处理
    thinkphp 验证码
    thinkphp 文件上传
    thinkphp 数据分页
    thinkphp 多语言支持
    thinkphp cookie支持
    thinkphp session支持
  • 原文地址:https://www.cnblogs.com/yangcheng33/p/6557324.html
Copyright © 2020-2023  润新知