2019迅雷校园招聘后端工程师面试总结

一面

一面概述

基本上面试过的一面都是问答形式, 面试官有一个题目清单,每个回答一看准确,二看表达. 一面基本上给出正确答案就给过.

一面题目

题目没有很特别的地方, 大部分是常见的面试题.

印象比较深刻的有:

  1. 5亿个整型数, 内存仅有4G时,如何完成排序. 若内存无限制,如何完成时间复杂度最小的排序.
  2. 答:
  3. 1)海量数据分治. 先HASH划分小文件,再使用堆排序快排分别完成各个小文件的内部排序, 最后使用归并排序构建败者树完成多个小文件的外部排序.
  4. 2)我先回答了: 若无限制,可全部读入完成时间复杂度为O(nlogn)的快排. 面试官提示内存无限大,可否再快一些. 内存无限制的情况下除了全部读入,还可以以空间换时间,直接进行计数排序. 又因为整型范围可知2^32, 5亿个数很可能填满整个范围, 直接构建长度为2^32的数组,以下标完成一次遍历计数即可. 时间复杂度为O(n).
  5. 给出一个字符串s, 要在1w个字符串中查找是否存在.
  6. 答: 工程需要的话, 直接哈希是最方便的做法,
  7. 原因:
  8. 1)各语言都提供完整的哈希实现, 与内存管理方案, 开发效率和运行效率都很容易达到满意程度.
  9. 2)1w个字符串本身所需内存也不大, 为其专门实现去重方案得不偿失.
  10. 补充: 如果1w个字符串是一个会多次重用且不断增值,需要维护的字符串库.可构建Trie-Tree(哈希树的一种)常驻内存当中.
  11. 手撕代码为冒泡排序, 要点为加入swapped变量, 让最优排序复杂度达到为O(n).

再分享一些面试题目,供参考

1.springCloud微服务和插件的问题很多

2.jdk1.7和1.8的hashmap有什么不同

3.JAVA各种几何的区别,比如map、linkMap之类的

4.多线程的线程池是如何工作的底层代码和原理

5.本地现场thredlocal的实现原理

6.spring bot 和spring MVC的区别

7.vue框架是否使用过是否会用

8.jvm的三种回收方式有什么不同比如cms和G1有什么区别

9.数据库优化的时候索引有哪几种如何选择

10.多人同时抢购一个库存的商品该怎么处理(分布式事务)

11.如何处理高并发就是请求数大于本地线程数量的时候不出错

复试

复试总结

复试可以说是很有质量了. 面试面多了其实会知道面试官有个套路:就是先从一个简单的问题开始试探,从你的表达就可以知道继续问多深了. 但复试几乎连试探都没有, 对着简历开始提问. 知识点都不是网上刷面试题见到的. 答起来很吃力, 大概只有一半的题目是我这一年里有专门准备过的.

全程更像是一场一个多小时的程序员技术交流, 对于我不懂的问题也给出了解答.

另一半都是凭印象或者自己的理解说出来的. 最后给了我offer也是很惊讶, 因为我自认为那一半没有准备过的题目,表达出来的水平确实差了很多.

但从面试官的提问方式也总结了一些面试标准(我认为的,未证实),

  1. 面试官发现你扫盲过的题目,就会问你原因.比如为什么要这样设计,能不能有更好的设计,下一个改进的点在哪;
  2. 如果是你没有准备过,就会看你解决问题的思路. 适当地给你一些提示.看能多接近正确答案. 感觉面试官并不是在等待一个非黑即白的正确答案. 这一点跟一面差别很大.

复试题目

凭印象记录下一些, 补齐答案估计还得小一个月, 每个点展开都是不小的篇幅.

  1. Cpython的GIL 形成原因
  2. 客户端知道了服务端的IP地址,以此建立一个TCP连接的过程.
  3. HTTP/2的主要优势在哪. 是否了解QUIC.
  4. 如果让你设计一个WEB开发框架,要有那些组成部分.
  5. 局域网内有人在用HTTPS服务, 如何窃取他的通信内容.
  6. Innodb中同时有主键和普通索引.给了一个实例表, 解释不同的where条件下,innodb访问索引的具体过程.(如,where后的colname为普通索引, 则innodb会从普通索引的B+Tree上找到目标, 获取目标的主键,然后第二步再去主键的B+Tree上(也就是聚集索引)找到主键的记录)
  7. redis内存管理机制. 如果设置了一个永不过期的key,但是实际上从未使用过,如何从内存中把它淘汰.
  8. linux文件格式,如何记录并访问一个文件
  9. 系统调用write()与read()实现过程与原理
  10. free指令中的buffer区和cache区什么作用,有什么区别
  11. 主从数据库实现读写分离时,由于海量的写操作导致主从不一致,如何解决.

(待更新.)

欢迎做Java的工程师朋友们关注我的公众号  Java周某人 免费获取免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

其中覆盖了互联网的方方面面,期间碰到各种产品各种场景下的各种问题,很值得大家借鉴和学习,扩展自己的技术广度和知识面。

2019迅雷校园招聘!后端工程师岗位两次技术面题目总结和解析相关推荐

  1. 2019迅雷校园招聘后端工程师面试总结

    一面 一面概述 基本上面试过的一面都是问答形式, 面试官有一个题目清单,每个回答一看准确,二看表达. 一面基本上给出正确答案就给过. 一面题目 题目没有很特别的地方, 大部分是常见的面试题. 印象比较 ...

  2. Interview:算法岗位面试—2019秋招校园招聘—算法工程师【机器学习、深度学习(偏图像)】秋招感悟:初期阶段的傲娇→中期阶段的紧张→后期阶段的蜕变

    ML岗位面试:2019秋招&校园招聘-算法工程师[机器学习.深度学习(偏图像)]秋招感悟:初期阶段的傲娇→中期阶段的紧张→后期阶段的蜕变 Interview:算法岗位面试-2019秋招& ...

  3. 数据分析真题日刷 | 小红书2019年校园招聘数据分析岗位在线笔试第二批

    今日真题 小红书2019年校园招聘数据分析岗位在线笔试第二批(来源:牛客网) 题型 客观题:单选6道,不定项选择3道,填空3道: 主观题:问答2道 完成时间 120分钟 牛客网评估难度系数 3颗星 经 ...

  4. 今日头条2018校园招聘后端开发工程师(第二批)编程题 - 题解

    以前做过第三批的题目,今日头条2018校园招聘后端开发工程师(第三批)编程题 - 题解.这一场的题目偏技巧和算法,而第三批的题偏编码.这一场涉及的算法有二分查找.区间动态规划. 原题链接:点这儿. 第 ...

  5. 今日头条2018校园招聘后端开发工程师(第四批)编程题 - 题解

    做过第三批的题目,今日头条2018校园招聘后端开发工程师(第三批)编程题 - 题解和第二批的题目,今日头条2018校园招聘后端开发工程师(第二批)编程题 - 题解. 这一场题目还是挺好玩的,也挺有技巧 ...

  6. 数据分析真题日刷 | 小红书2019年校园招聘数据分析岗位在线笔试第一批

    今天是7月5日,进入「数据分析真题日刷」的第五套题啦,继续保持. 今日真题 小红书2019年校园招聘数据分析岗位在线笔试第二批(来源:牛客网) 题型 客观题:单选6道,不定项选择3道,填空3道 主观题 ...

  7. 【笔试题目整理】小红书2019年校园招聘数据分析岗位在线笔试第一批

    最近在准备数据分析岗位的笔试,整理了牛客网上的一些试题与答案方便查看. 本文转载出处: https://blog.csdn.net/weixin_44915703/article/details/94 ...

  8. 【笔试题目整理】小红书2019年校园招聘数据分析岗位在线笔试第二批

    最近在准备数据分析岗位的笔试,整理了牛客网上的一些试题与答案方便查看(只摘部分). 今日真题 小红书2019年校园招聘数据分析岗位在线笔试第二批(来源:牛客网) 题型 客观题:单选6道,不定项选择3道 ...

  9. Marvell校招新增数字后端工程师岗位

    Marvell招聘IC工程师 全球领先的芯片设计厂商Marvell开启校园招聘啦~ 新增数字后端工程师岗位(成都) 需要内推的童鞋可以 发送简历到邮箱taozhang3260@163.com 咨询:微 ...

最新文章

  1. matlab数值分析拟合实例,数值分析函数拟合matlab代码.doc
  2. 牛客网NOIP赛前集训营-普及组(第一场)
  3. 【深度学习入门到精通系列】拿捏Dice系数
  4. android init.rc中启动的service 默认是disable的,后续如何启动此服务
  5. matlab函数冒号代表的意思,MATLAB中冒号运算符的含义
  6. 旷视科技IPO过会,AI技术“立业”难言轻松
  7. 【WC2013】糖果公园
  8. Android Studio 利用系统签名打包apk
  9. 牛客网刷题(Hw题库)
  10. 使用Nginx搭建图片服务器
  11. torchtext Filed 方法报错解决办法
  12. 云服务器几核CPU够用
  13. 基于Altium designer软件设计PCB,原理图经验总结
  14. Oracle 11g安装报错You do not have sufficient permissions to access the inventory
  15. 线段覆盖长度(c++)
  16. 条码的开发使用介绍文档
  17. 如何在Windows中启用“立体声混音”并从PC录制音频
  18. 小程序处理大量数据列表的方法
  19. 使用sharemouse在多台设备间共享鼠标
  20. 常用的软件配置管理工具

热门文章

  1. oracle HTTP Server安装和配置为集群代理(linux)
  2. C/C++程序固定单核CPU运行(几个示例)
  3. 第5章 运算符、表达式和语句
  4. android edittext 输入手机号码格式变化
  5. 【教程】Teambition中行云及飞流实现自定义构建部署
  6. 《甄嬛传》影评(整理)
  7. 阿里云飞天系统质效管理体系入选信通院“软件质效领航者”优秀案例
  8. 嵌入式微处理器的分类有哪些?
  9. 价值3888开源企业发卡网源码/全网对接/全新UI风格/完美运营
  10. 【C标准库】通过locale.h设置美元的格式