本来在一加软件公司工作,三月初的时候无意中收到深圳腾讯云的电话(对方表明身份后,说看到我的简历,想和我聊聊。当时没有电面经验再加上也没有进来也没有投简历,爽快的答应聊就聊呗。上来就是技术问题,当时蒙了,我简历也不知道啥时候怎么他就知道啦,当时电面后想着估计黄啦),后面就没音讯啦,从那次以后开始踏上2016找实习的征途。之后再内推腾讯互动娱乐,没收收到电面。所以按照正常的实习生流程走下来。经过笔试,一个礼拜后于4月9号夜收到腾讯一面通知(4月10号),今天特意分享一下《十道腾讯软件开发工程师面试题》希望大家能够受用。

  1、介绍一下你自己。(严格来说这个不能算一个问题,每家公司基本都要问)

  一、OSI模型有几层?

  二、说说C++的多态?为什么使用虚函数比非虚函数耗费的时间更多?

  三、有一个全局变量int a=0,现在两个线程各自循环执行100次a++操作,问最后a的值是多少?

  四、对于海量数据,用什么数据结构存储用户搜索的高频关键词比较合适?比如,当用户输入“黄”字,输入框要自动显 示“黄晓明”,“黄蓉”,“黄山”,“黄鹤楼”等提示,但是能存储的量很有限,所以需要选择恰当的数据结构。(我先后说 了数组和堆,似乎都被否决了)

  五、智力题:一片草地的草每天匀速地长,m只羊花p天能吃完,n只羊花q天能吃完,问现在k只羊花多少天能吃完?( 记不清m,p,n,q,k的具体数值了,总之是根据已有的两个条件列出二元一次方程组来求解)

  六、手写快速排序程序。快排的复杂度是多少?给定1组数1,4,5,5,8,9,7,在快排过程中这两个5是否会被交换?

  七、简述怎样用两个栈实现一个队列的功能?只需实现入队、出队。

  八、你想打开电视看世界杯,结果发现电视黑屏完全没反应,应该怎么检测故障?

  二面的两个问题我是这么解答的:

  九、写一个函数判断一个字符串里的小括号、大括号是否匹配。例如,输入为"(){}"时输出为true,输入为“{(aa)}”时输出为true,输入为“({)}”时输出为false。

  (我用一个栈来存储,对字符串从左往右扫描,遇到左括号就压进栈里,遇到右括号就判断是否跟栈顶元素匹配,如果不匹配就让整个函数直接返回false,如果匹配就取出栈顶元素。注意右括号始终不会进栈。扫描完后如果栈不为空就说明还有多余的左括号,返回false;否则返回true。)

  十、如果AB*C=DE,DE+FG=HI,其中从A到I这9个字母代表9个不同的数字,求这9个数字分别是多少。

  (我写了5重循环,A,B,C分别从0到9循环,用一个布尔数组记录每个数字是否使用过,筛掉有重复数字的情况,然后可以直接根据AB*C=DE求出D,E,再筛掉有重复数字的情况,然后这个内层循环里再让F,G分别从0到9循环,可直接得出H,I,检查是否符合。最后面试官跟我说第2题他本来想让我用数学方法求解的,没想到我直接就写了代码了,他嫌麻烦了。)

  最后问了一下个人的学习和生活情况。这位面试官搞并行处理,我到房间的时候他正在给另一个同学面试,他就拿来两张纸让我站在门口写代码,相当于把每人半小时的面试时间压缩了一半……

  最后给大家再支个招:

  可以去www.proginn.com里面搜索腾讯在职或者曾经在职的师兄,只需要简单的预约他们一个小时电话,然后就开始唠嗑吧,这样你入职的概率会大很多哦。

十道腾讯软件开发工程师面试题相关推荐

  1. .NET软件开发工程师面试题(上)

    1.简述区别:string str=null.string str="".string str=string.empty 答: string str = null; 定义了一个字符 ...

  2. 拼多多、腾讯 C++开发工程师面试题

    (一)拼多多实习服务端 1. 一个C++源文件从文本到可执行文件经历的过程 对于C/C++编写的程序,从源代码到可执行文件,一般经过下面四个步骤: 1).预处理,产生.ii文件 2).编译,产生汇编文 ...

  3. Java 并发编程—— Exchanger 应用,java软件开发工程师面试题

    前面已经介绍 SyclicBarrier.CountDownLatch.Semaphore 三个并发编程中的工具类,还剩下最后一个 Exchanger.Exchanger(交换者)是一个用于线程间数据 ...

  4. .net软件开发工程师面试题精选

    一.填空题(每空1分,共12分) 1面向对象的语言具有__封装______性.__继承_______性.__多态______性. 2能用foreach遍历访问的对象需要实现 ____Ienumerab ...

  5. C++软件开发工程师笔试题

    1.二层交换机能够识别()地址. A.MAC地址 B.域名 C.IP地址 D.UDP端口号 2.以下代码运行结果为 #include "stdio.h"class Base { p ...

  6. java软件开发工程师面试题_Java开发工程师常见面试题01

    Java 基础 1. JDK和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Run ...

  7. 小米2020校招软件开发工程师笔试题二

    https://blog.csdn.net/Yuudachi/article/details/104090132

  8. 腾讯php开发工程师面试题

    1 . 请对 POSIX 风格和兼容 Perl 风格两种正则 表达式的主要函数进行类比说明 ereg preg_match ereg_replace preg_replace 2 . 请说明在 php ...

  9. 小米2020校招软件开发工程师笔试题一

    1. 下列关于设计模式说法错误的是(B) A. 装饰器模式在实现过程中一般不会更改被封装对象的接口定义 B. 适配器模式以不改变被适配对象的接口定义为目的对其进行改造 C. 用饿汉方式实现的单例模式是 ...

最新文章

  1. 区块链第二层扩容方案Plasma和Rollups
  2. 干货 | 吴恩达亲自为这份深度学习专项课程精炼图笔记点了赞!(附下载)
  3. 赠票 | 面见AI大神贾扬清!阿里云峰会船票抢先送~(上海站)
  4. struts2 不返回result的做法
  5. 抢人饭碗了!推荐一款全自动的机器学习建模神器PyCaret
  6. sql解析json oracle,oracle 11g plsql解析json数据示例1
  7. 中国顶级互联网公司的技术组织架构调整预示着什么?【强烈推荐行业人士阅读】
  8. bigdecimal 保留两位小数_Python的保留小数及对齐
  9. 冯乐乐 unity_Unity常用矩阵运算的推导补遗——切线空间
  10. Tomcat映射虚拟目录的三种方式(2021版)
  11. gradle相关配置内容解析
  12. 【bootstrap】-----使用核心
  13. python: 产品选型小软件
  14. 关于开会了一点点想法
  15. 计算机在保险的应用,浅谈计算机信息系统在医疗保险中的应用
  16. SLAM技术课程总结
  17. Oracle 12C新特性总结
  18. 超速判断java_汽车超速到底是如何判定的?
  19. 达梦数据库忘记SYSDBA密码的问题探讨
  20. 计算机进去bios方式,电脑的BIOS在哪?各电脑进入BIOS的方法

热门文章

  1. 调侃:办公室“四大毒人”素描
  2. ESP32——WebSocket Echo Server官方例程分析和测试
  3. java 无法初始化类_java – “NoClassDefFoundError:无法初始化类”错误
  4. 多核处理器_苹果A14:尽管我在挤牙膏,但安卓的处理器你们都是弟弟
  5. 高通公司宣布将骁龙处理器改名为骁龙移动平台
  6. mac下安装ac97的声卡驱动
  7. 一生抗韩,或许我再也等不到你来年
  8. [JS]笔记13之Date对象
  9. Java虚拟机(三)——初识JVM的垃圾回收机制
  10. 【总结整理】word使用技巧