zoukankan      html  css  js  c++  java
  • 春招实习_学而思_一面/二面/HR面+offer

    5.15 14:30 一面

    1. 二进制转十进制会吗 10.2, 0.6 --> 后面会进入一个死循环
    2. 计算机网络的协议了解吗,简单介绍一下TCP和UDP,
    3. TCP的粘包问题怎么解决的,使用的字符串存下来的,怎么区分两个包
    4. 进程间的通讯方式有哪些,线程之间通讯呢 -- > 进程间的通讯方式有信号,套接字,管道,消息队列,共享内存,信号量, -- > 线程之间的话, 加锁机制,条件变量,信号量,
    5.了解什么设计模式呢,说一下代理设计模式 --> 我说了动态代理的Proxy和CGLib的两种代理实现方式
    6. HTTP是无状态协议,那服务器怎么判断哪个用户是哪个的呢 --> cookie 和 Session
    7. 怎么通过session id找到session ---> 我回答sessionId应该是session的版本号或者是session的一个唯一标识,通过这个唯一标识就可以找到对应的session
    如果cookie被禁用了,那还能通过session id 找到对应的session
    8. 对MVC模式的理解
    9. 怎么把项目部署到云服务器上,说一下流程
    10. 是使用域名加端口号直接访问的吗,如果端口号被禁用了怎么办
    11. git是使用命令行的方式来访问的吗,还是使用的IDE    --> 刚学git的时候用的命令行,后来做项目使用的IDE集成git, 这样开发效率更高
    12. 说一下MySQL数据库增删改查的语句, explain 的作用
    13. 有哪些存储引擎,各自的优缺点
    14. 如果一个字段有单列索引,那么对这字段进行查询一定会命中到索引吗,-- > 我说是,--> 他说不一定,如果这个, 要用force index才可以
    15. 反问:
    部门主要使用什么语言--> C++, Go, Java, PHP(据说有个PHP的牛人在他们部门,所以PHP的架构设计的特别好,性能和GO相当,服务端开发用Java不多,隔壁部门用web开发比较多)
    面试官很轻切,不会的问题不会刁难,会耐心的解答,基本上都是鼓励的话,面试体验感很好,
    面试总结,遇到自己不会的问题不要慌,不要着急否认自己,尝试思考一下,可以回答一个猜测的答案,这样面试官会觉得你比较能处理问题

    5.19 16:00 二面

    1. 平时间会逛github吗 --> 不太经常逛,主要看CSDN最新的博客
    2. 项目中遇到的问题 --> 项目太简单,没什么难点,只能强行扯一些语法问题
    3. spring cloud了解吗
    4.  怎么创建一个线程池
    4. 介绍一下垃圾回收算法
    5. NIO和BIO
    6. 进程和线程的联系和区别
    7. 协程了解吗
    协程是一种用户态的轻量级线程,协程不是由操作系统内核管理,而是完全由用户程序所控制,这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源。协程可以理解为可以暂停执行的函数。它拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。
    8. 输入url后的一系列过程
    9. tcp的三次握手的过程
    10. https了解吗,---> 他说https的速度是http的
    11. http3了解吗 --> 没了解过,他说是在udp的基础加了一个可靠传输
    12. http2的特点:多路复用,头部压缩,服务推送
    13. 反问求建议:
    14. 对kafka了解吗 -- > 说了一下基本概念 和基本架构
    15. kafka的高可用这么实现的 --> 分区,加上备份
    16. 知道CAP定理吗 --> 没答出来
    分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition
    Tolerance),最多只能同时满足其中两项
    17. c++11新特性 
    long long类型,nullptr常量,auto关键字,范围for循环,lambda表达式,string数值转换函数,智能指针
    18. C++里的HashMap底层是怎么实现的
    数组加红黑树
    19. C++的内存分区
    在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区
    1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
    2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
    3.自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
    4.全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。
    5.常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改)
    20. 再次反问:
    21. 对go了解吗,对php了解吗 --> 不了解 

    5.20 16:20hr面

    offer选择
    学而思主要用的是php,部分用go和C++, 只有极少一部分Java, hr也说进去肯定要转语言,但是没说具体要转什么语言,我的顾虑是因为我之前的项目实在是太low了,本来打算暑期做一个稍微好一些的项目的,但是如果暑期实习转了语言,公司肯定就没有做Java项目来做了,而且因为要学习新的语言,自己肯定也没时间私下做Java项目了,那这个实习经历好像对秋招就没有什么用了,
    另一个选择是兴业数金,这个公司的平台小一些,但是用的是Java语言,
    前期一直没有offer,心态差点崩了,但是这段时间又拿到这两个这么纠结的offer,真是太难选了

  • 相关阅读:
    26种激发人创造力的天使商标设计
    TopFreeTheme精选免费模板【20130703】
    解决插入到MySql数据库中乱码问题
    商务名片创意搜罗
    10个优质PSD文件资源下载
    TopFreeTheme精选免费模板【20130701.特别版】
    【原创】关于java对象需要重写equals方法,hashcode方法,toString方法 ,compareto()方法的说明
    谨慎使用keySet:对于HashMap的2种遍历方式比较
    有关google的guava工具包详细说明
    java消除 list重复值及交集,并集,差集
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/14160571.html
Copyright © 2011-2022 走看看