美文网首页面试程序员知了·IT
阿里、搜狐等七大厂的面经(跳槽必看)

阿里、搜狐等七大厂的面经(跳槽必看)

作者: 程序员技术圈 | 来源:发表于2018-04-22 22:38 被阅读203次

    在过去的这段时间里,大大小小的面试我参与过很多,基本上成功率还是蛮高的。到现在,也算总结出了一套应对面试的理论和方法。今天就来说说几个大厂的面试经验,觉得有帮助的小伙伴可以收藏一下。

    头条*一面(过)

    自我介绍

    项目介绍

    平时使用开的环境

    redis获取一个hash的长度

    用redis做过控频吗

    能接受转语言吗

    http状态码301,302

    手写快排

    头条*二面(挂)

    网络部分:

    DHCP如何实现分配ip的

    发现阶段(DHCP客户端在网络中广播发送DHCP DISCOVER请求报文,发现DHCP服务器,请求IP地址租约)、提供阶段(DHCP服务器通过DHCP OFFER报文向DHCP客户端提供IP地址预分配)、选择阶段(DHCP客户端通过DHCP REQUEST报文确认选择第一个DHCP服务器为它提供IP地址自动分配服务)和确认阶段(被选择的DHCP服务器通过DHCP ACK报文把在DHCP OFFER报文中准备的IP地址租约给对应DHCP客户端)。

    OSI七层模型,每层都说下自己的理解和知道的,说的越多越好

    TCP和UDP的区别,TCP如何保证可靠传输的

    说一下常使用的协议及其对应的端口

    Linux部分:

    I/O多路复用

    进程间如何通信

    动态链接和静态链接的区别

    进程的内存分布

    如何查找一个进程打开所有的文件

    设计模式:

    工厂设计模式

    单例设计模式

    讲一下,说一下应用的场景。

    网易*一面(过)

    自我介绍

    Hashmap

    两道简单算法

    1、求连续子数组的最大和问题

    2、走格子,从一个出发点到终点,只能向上和向右有多少种走法,连障碍点都没有

    Java如何进行垃圾回收的

    你用过哪些设计模式?

       回答:单例,观察者,工厂,责任链,适配器

    JDK中哪些实现了单例模式?

        java.lang.reflect.Proxy类,java.lang.Runtime类,线程池。

    两道设计题

    第一道设计题:

    比如我有个电商平台,做每日订单的异常检测,服务端代码应该写。、

    第二道设计题:

     比如窝网易邮箱春节要做一个活动,我网易邮箱用户量有3.4亿吧!但是我只允许8千万人参加,最后在8千万人里面产生一二三等奖,有一台物理机和一台数据库服务器。你怎么来设计。 

    网易*二面(过)

    为什么会有内核态,保护模式你知道吗?

    文件是怎么在磁盘上存储的?

    有了进程为何还要线程呢,不同进程和线程他们之间有什么不同。

    进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。

    dhcp数据包格式及其原理

    innodb聚集索引b+树叶子节点和磁盘什么顺序相同。

    阿里*一面

    1、自我介绍

    2、全程怼项目,问的及其细,包括你为什么选择这种方案来实现,具体怎么存储怎么做的,相当细,遇到这类面试官,项目不够熟,就会翻车了。

    3、redis原子操作怎么用比较好

    4、消息队列会吗?

    阿里*二面

    操作系统模块:

    1、说一下并行和并发的区别

    2、你知道进程吗?有进程为何还有线程?

    3、操作系统是如何调度进程呢的

    4、比如linux下我打开一个文件调用read函数,整个过程说的越

    5、同步异步阻塞非阻塞IO详细越好。

    其他记不起来了。其实这些扩展开来就能说很多,就包含文件系统,进程管理和调度,就差内存管理机制了,我自己说了,虚地址保护模式。

    网络模块:

    TCP报文格式

    TCP和UDP

    拥塞控制

    超时重传

    三次握手

    滑动窗口

    常见协议的端口号

    数据库模块:

    索引数据结构

    索引优化

    存储引擎

    事务(spring框架如何实现事务的呢)

    分库分表

    Java模块:

    hashmap

    Arraylist和linkedlist

    voliate

    线程池,如何根据CPU的核数来设计线程大小,如果是计算机密集型的呢,如果是IO密集型的呢?

    countdownlatch和CyclicBarrier底层实现原理

    线程状态以及API怎么操作会发生这种转换

    JVM:

    他说只问三个问题,

    1、垃圾什么时候被回收

    2、是怎么回收的呢

    3、忘了。。。。

    分布式:

    1、redis

    2、分布式事务解决,你知道我们阿里巴巴是怎么做的吗?

    3、消息队列

    4、分库分表

    5、CAP

    暂时只能记起这么多

    你打住我知道你的掌握程度了期间这句话说了很遍。我知道了,你不用说的这么详细。我们不在这个上面纠缠了,下一个。

    阿里*三面

    自我介绍

    hashmap

    红黑树

    微信附件人这个功能怎么实现的

    String中hashcode怎么实现的

    项目问的很多

    就聊了20分钟

    小米*一面(过,offer没拿到岗时间)

    自我介绍

    项目介绍

    类加载机制

    垃圾回收算法

    G1垃圾回收器

    hashmap,hashtable,concurrenthashmap(JDK1.8)

    BIO和NIO

    三次握手

    流式计算

    悲观锁,乐观锁

    spring bean生命周期

    进程和线程

    linux下排查某个死循环的线程

    Arraylist和linkedlist

    解决hash冲突的方法

    跳跃表

    小米*二面

    自我介绍

    项目

    如果你的项目出现了内存泄露,怎么监控这个问题呢

    一致性哈希算法

    两个单链表相交,找到交点共享文档手写代码

    nio和bio,bio底层怎么实现的呢

    select poll epoll区别

    redis为何效率高

    熟悉开源消息队列吗?讲一下

    ngix+redis集群+session共享或者同步

    问下你有面试其他公司吗?都有哪些offer呢

    上午被他们看完博客,说一面太简单了。

    明明面了一个多小时,记不起来问题了(记起来了再补)

    反正怼我的目的没有达到~~。

    搜狐*一面(offer)

    项目问得很细。

    自旋锁

    标记清除和标记整理的区别和优缺点,为何标记整理会发生stoptheworld

    mysql索引,最左匹配原则,!=为何会索引失效

    写sql举例最左匹配原则

    解释下乐观锁和悲观锁

    信纸上写反转单链表

    你是找实习的,怎么不早说呢,你过了。

    其他记不起了。

    ps:感觉Java基础知识很少被问到了,上来都是细问项目,问的相当细,项目如果有漏洞就会对你很怀疑,想着怎么更好的考察你。尤其参加补招,因为后来面试官给我解释,怕是我是专门应对面试的,准备了很多。

    商汤*一面

    让你设计一个cache如何设计

    redis过期策略是怎么实现的呢

    mysql存储引擎,更适合做哪种应用,

    哪些情况下索引会失效

    建立索引需要注意哪些情况

    垃圾回收

    CAS

    新生代对象如何迁移到老年代对象

    G1

    ReentrantLock实现原理

    spring aop

    hashmap

    concurrenthashmap

    面试官说我要招一个尽快入职,主要你时间不匹配,说这句话我就知道gg了,不过我会把你简历留着,再招的话可以通知你。

    滴滴*一面(offer)

    很奇怪,这面试官不说话。让你自己讲,中间偶尔问下问题

    ,这是故作高深吗?把毕生功力都展示出来了。

    比如我虚地址保护模式是80286开始支持的,描述子里面放读

    写权限,地址空间,段基址,加上偏移量完成从虚地址到物

    理地址的转换。

    CAP理论

    mysql能讲的都讲了

    netty源码

    Java差不多也是的,多线程,thread,runnable,从

    cyclebarrier,countdownLatch,线程池到自定义线程池(缓存,拒绝策略,核心数)。

    福利:

    想要了解更多面试技巧及知识点的,可以关注我一下,我后续也会整理更多关于面试的内容出来,另外顺便给大家推荐一个交流学习群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多,以下的内容在群的共享区可以免费下载。

    总结:

    个人感觉回答面试官问题不必太官方和书面化,腾讯sng招实习被发现照着百度百科念。结果可想而知。用自己的话和理解去回答就好。可能应届生会抱怨设计题,个人感觉尽量去做,把自己平时积累的知识点,思想和能力尽量去展示就好,可能面试官对你的回答期望不是太高。每面完,我就问面试官对我们在校学习有什么建议,无外乎,努力,多写代码多动手,保持持续学习的心态,关注一些新技术。加油你们都是最棒的!别太紧张了,这些技术面面试官人都很好的。目前面了几家聊得都很愉快。

    相关文章

      网友评论

        本文标题:阿里、搜狐等七大厂的面经(跳槽必看)

        本文链接:https://www.haomeiwen.com/subject/ruglkftx.html