学而思一二面经+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.常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改)
原文链接:https://blog.csdn.net/metheir/article/details/52629437
20. 再次反问:
21. 对go了解吗,对php了解吗 --> 不了解

5.20 16:20 hr面

offer选择

第一个是学而思的服务端开发,学而思主要用的是php,部分用go和C++, 只有极少一部分Java,我用的是Java, hr也说进去肯定要转语言,但是没说具体要转什么语言,我的顾虑是因为我之前的项目实在是太low了,本来打算暑期做一个稍微好一些的项目的,但是如果暑期实习转了语言,公司肯定就没有做Java项目来做了,而且因为要学习新的语言,自己肯定也没时间私下做Java项目了,那这个实习经历好像对秋招就没有什么用了,
另一个选择是兴业数金的软件开发,这个公司的平台小一些,但是用的是Java语言,
徐而死

前期一直没有offer,心态差点崩了,但是这段时间又拿到这两个这么纠结的offer,真的要枯了,希望牛友能给出一些建议,先行谢过



#学而思##Java工程师##实习##面经#
全部评论
我是数梦工厂和学而思选了学而思
点赞 回复
分享
发布于 2020-05-23 15:08
点赞 回复
分享
发布于 2020-05-28 22:59
秋招专场
校招火热招聘中
官网直投

相关推荐

2 11 评论
分享
牛客网
牛客企业服务