时间线 8-23 投递 9-7 一面 9-26 二面 (无笔试) 面试岗位:客户端开发工程师 一面(1h) 八股(20分钟) C++的堆和栈的理解; 深拷贝和浅拷贝; 聊聊你了解的设计模式; 进程之间的通信; 进程线程的区别; CPU调度是进程还是线程? HTTP和HTTPs的区别? 聊聊状态码。 非对称加密是怎么实现的呢? 进程调度算法有哪些? 手撕代码(40分钟) 合并两个有序链表 螺旋矩阵I
一面(45min): 八股+手撕: 1. URL输入后发生了哪些事情,详细介绍步骤 2. https相关的TLS连接 3. TCP连接的三次握手 为什么是三次 不是两次 四次挥手 为什么是四次 4. 操作系统中的缺页中断是什么 5. TCP 和 UDP区别 举例说明具体的应用场景 6. 多线程保证线程安全的方式,具体C++中的哪些实现方法, 7. http1.0 和 1.1 区别 记住的大概就是这
1.自我介绍项目介绍 2.c++11新特性 3.根据说到的新特性问智能指针的缺点和右值引用相关题 4.vector是最常见的stl,你一般使用vector 有什么新技巧,清空vector用什么办法(说了swap,面试官说是一种方法,但是效率不高过时了,有没有什么别的方法) 5.n个不同颜色盒子和n个不同颜色球,球不能放对应颜色盒子里,有多少种方法,不要只使用排列组合,使用计算机思维思考(dp) 6
1.自我介绍 2.实习项目25min(从技术上详细介绍,场景扩展,怎么解决?) 3.算法25min 爬楼梯,时间复杂度,优化空间复杂度 lru没撕出来面试官人很好,一直在引导,脑子懵了没写出来,感觉面试官都无语了 场景扩展也答得一般,估计是凉了
1. 对岗位的认知 2. 对岗位有什么问题 懵,怎么先到QA环节了??? 3. 怎么自学的 4. 如果C++满分是10分,给自己打几分? 7分 5. 扣的分数在哪里? 实践少,STL算法部分没有去深入研究,C++17 C++23 6. virtual 怎么实现动态多态 7. 虚函数表查表的时间复杂度是多少 没回答上来 8. 手撕快排 9.快排的时间复杂度和空间复杂度 空间:最坏O(n) 平均O(l
一面 1.读取文件的时候,操作系统会做什么? 2.用户态、内核态 3.依赖注入的三种方法? 4.什么是依赖,什么是注入? 5.循环依赖怎么解决?三级缓存不了什么注入方法? 6.JWT如何验证Token的有效性?防止Token被篡改? 7.线程池中核心线程数,用户请求量减少了,这些会怎样变化? 8.线程池的参数是怎样设置的? 9.怎样使用线程池?有什么方法提交任务? 10.Runnable和Call
积累积累功德吧 1. 自我介绍 2. 研究生期间学了哪些课程? 3. 介绍一下项目,说一下你负责的部分 4. 项目怎么识别用户登录的状态的呢? 5. 项目用到了微服务,微服务有什么好处? 6. 项目里Redis做什么用? 7. 向Redis中存短信验证码的命令是什么?设置过期时间的命令是什么? 8. 看你还用了RabbitMQ,说说是怎么用的?解决了什么问题? 9. 说一说项目里面微信支付的流程
自我介绍 项目工作聊了20分钟 三道题 1、写一个字典树,实现插入和查询 写完面试官说性能差,让我从各个方面说说怎么改进(说不上来,来了句“行吧,那再看一道题”) 2、合并两个二叉搜索树,结果尽量平衡 开始想着先直接合并,在旋转,还好面试官说复杂度太高,反正我也写不出来 然后提示我利用二叉搜索树的性质,就写了中序遍历各存一个数组,合并完数组,重新建树,面试官说能怎么优化一下,我问能不能在提示一下,
面试官网络很差,中途断了5 6回; 1.自我介绍 2.介绍一下实习都做什么了,不想留下吗? 3.挑一个项目介绍一下,讲一讲难点,(webserver)线程池里面任务队列是无限的还是有限的,如果客户请求的任务太多了数组爆了怎么办,就把请求给丢了吗,你这个设计有问题啊;(大脑一片空白直接懵逼) 4.讲一讲C++11的新特性,说说智能指针,使用智能指针了普通指针还能用吗,什么时候用智能指针,什么时候用普
1. 自我介绍 2. 介绍一下实习工作内容 3. 项目的难点 (项目实习简单带过了,没问一点) 4. String a = "str_a", String b = new String(a + "str_b"); 创建了几个对象 5. List 和 map的实现类 和各自的底层结构 6. ArrayList和LinkeList的区别 7. Redis、内存和磁盘区别 为什么快 为什么慢 8. Re
1.自我介绍 2.请阐述你对32位和64位的理解(几乎答不上来) 3.算法题:给了个模型,让你抽象出它的类,实现两个方法(想了十几分钟面试官还给了提示才想出来是一个树,磕磕绊绊写了一个方法就打断我说这次面试结束了。。。。)准备了几天力扣完全没用上,,,,
1、自我介绍 2、进程和线程的区别 3、系统调用 4、java1.8新增和改进 5、函数式编程 6、场景题:要用线程池,没有考虑到 7、mysql事务的特性,innodb怎么保证特性 8、jvm的内存结构 9、垃圾回收机制 10、G1和CMS的区别、流程区别 11、i++是原子的吗 12、怎么保证i++的原子性 13、主键索引、非主键索引 14、从浏览器输入网址经历的步骤 15、域名解析用什么 1
一面: Java用哪个版本,Java streamAPI,parallel StreamAPI Lock接口和synchronized对比,Lock接口一定比synchronized性能好吗?Lock锁底层原理 项目里面Redis,Redis多线程机制,缓存和数据库不一致的情况,先删除缓存再更新数据库、先更新数据库再删除缓存 Redis实现排行榜,排行榜包括充值金额和充值时间,如何计算score
二面: 1. 场景题:一个页面中两个组件,组件中有请求相同的接口,如何保证两个数据一致。(面试官说是开放题,随我怎么想) 2. 实现检测页面卡顿,连续三次卡顿后设置状态卡顿,并三秒后重新开始检测 聊字节的项目,聊最近了解的新技术和趋势,我就说了下前端社区部分框架开始抛弃ts以及vue尝试抛弃vdom的事儿,然后面试官就问了下原因,讨论了一下 就一个手写题,感觉主要还是聊项目以及个人技术规划啥的 h
1.G1垃圾回收的过程。 2.什么是Ioc和Aop? 3.Spring mvc处理一个请求的过程? 4.过滤器和拦截器的区别? 5.Concurrenthashmap如何实现互斥的? 6.Map中如何清理大对象? 7.守护线程不结束怎么办? 8.Jvm堆内存缓慢增长如何定位哪行代码出问题? 9.如何确定哪个对象占用堆内存大? 10.讲讲调度线程池 ScheduledThreadPoolExecut