序言本来下一个想更阿里Lazada面经的,但有牛油想了解测开学习路线,那我就先更一下吧,面经先放放,大家别急我将从项目、编程语言、数据结构、数据库、计算机网络、操作系统、Linux常用命令、软件测试知识、智力题等方面详细介绍。我本来想详细给大家写出答案的,后来想了想会有弊端:1、会让我的面经成为八股文(哈哈哈,估计也没啥人看),不利于大家的深入学习,毕竟学习是不断学习积累的过程,不是我的一篇面经能解决的2、我的答案不是标准,也不是权威综上,大家按照我的知识点去准备可以覆盖到大厂80%左右测开基础知识的提问,而剩下的20%,就要大家边面试边自己拓宽自己的知识图谱了大家按照我的知识点和提示搜索答案和总结即可,俗话说“耳听千遍不如手过一遍”,边整理边打字也有助于学习。下面是我学习时整理的知识图谱 项目经验建议大家一定要有拿得出手的项目经验、比赛经历、实习经历,不然简历关不好过、其次前40分钟面试官就只能深挖基础知识,容易无聊没有上述经验,实在不行可以课设来凑,但一定要深化技术栈介绍项目和实习时,可以采用按照 项目名称、我的身份、项目背景、我负责工作、成果 的顺序来介绍项目介绍需要提前准备,提前熟悉你做过的项目,防止介绍的时候磕磕绊绊、而且对于自己负责工作的技术栈要特别熟悉,要会一些底层。编程语言楼主熟悉C++,了解PY,JAVA建议大家【熟悉掌握】C++/JAVA,【了解】Python/Golang即可,其他多多益善解释以下几点:【熟悉掌握】C++/JAVA掌握比开发要求低一些,是指所有基础知识都要掌握,部分底层需要知道,但并发编程可以不了解(是加分项)为什么【熟悉掌握】是C++/JAVA呢?首先C++由面向对象的思想,如果你对其了解,那么学其他语言就很容易了。其次JAVA是大部分大厂开发的主流语言,有的大厂也用JAVA编写测试用例(如京东)。只有熟悉了解至少一门高级语言,哪怕你没有其他语言经验,也能强有力的说服面试官你能学会目前岗位的其他语言【了解】Python。从面试官了解到,目前主流编写测试用例还是py,但测试用的py比较简单,了解多线程编程更好(面试被问到过)【了解】Golang,这是针对字节加的,毕竟字节今年招的人挺多,也是大火。字节开发主要是golang,编写测试用例有时候可能需要你大致看懂对应源码来定位问题。因为我比较熟悉C++,所以详细给大家罗列C++知识点(有时间可以看 C++primer)c++机制C++与C的区别内存覆盖怎么回事?(频率低)内存泄漏有哪几种情况以及如何解决情况:在类的构造和析构函数中未成对使用new/delete操作符;使用了野指针(未初始化的指针/指针所指地址已被释放/指针操作超越了作用域);未正确清除嵌套的对象指针等解决:使用智能指针(shared_ptr、weak_ptr、unique_ptr)C++与Java的区别执行速度、是否面向过程、指针、是否多继承、GC垃圾回收机制、是否可重载等内存的分配方式静态分配、栈区分配、堆区分配内存分配有哪些区堆、栈、常量区、全局区、代码区内存分配中堆和栈的区别管理方式、空间大小、碎片、生长方向、分配效率C++11的新特性你知道哪些,用过哪些autonullptr和NULL的区别智能指针并发编程c++编译过程面向过程1.*指针/&引用的区别内存、sizeof后大小、初始化、指向是否可变、++含义、是否有多级2.const/define区别定义数据类型、安全性检查、是否可调试3.typedef/define区别用法、所在处理过程4.sizeof/strlen的区别5.内存对齐是怎么回事6.extern的作用7.struct(c++)与class区别默认成员权限、默认继承权限、内存8.c++和c中的struct的区别9.sizeof、strlen、size、length区别10.函数模板 template 用法11.new/delete与malloc/free的区别12.++i,i++的区别和源码13.#include<>和#include""的区别面向对象1.三大特性封装、继承、多态2.执行构造函数/析构函数的顺序3.重载和重写的区别4.虚函数介绍一下虚函数表5.多态方式动态多态、静态多态6.纯虚函数使用方法7.C++中拷贝赋值函数的形参能否进行值传递容器STL1.map/set的底层实现和区别2.unordered_map/unorder_set底层3.vector/list区别4.迭代器用法建议大家上面的知识点大家应该都掌握,其他的知识点不是说一定不会问,大家可以边面试,边总结,没事多啃啃c++primer,夯实语言基础。牛客里C++工程师的面经总结大家也可以互为补充的看,我当时也是有看牛客总结大家可以关注后续,我尽快更最后,祝大家新年快乐呀!
点赞 25
评论 5
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务