zoukankan      html  css  js  c++  java
  • 腾讯 5.20 2017暑期软件开发实习生笔试+面试

    题目很全

    选择题 不定项

    C++基础知识 指针 引用 const

    操作系统 磁盘

    数据结构 最短路径问题 

    网络 http tcp 

    估算题 4.5亿个用户 保存状态需要多少内存 

    简答题

    1.sql语句的编写 很长

    2.说明栈和堆的区别

    编程题:

    1.蛇形矩阵

    2.给定一个字符串,可以删除部分字符,求最大回文字符串

    基础很重要 光拼刷题是没用的  要理解 要研究 
    额 吃完午饭 就通知我来面试了 
     
    首先自我介绍
    然后介绍论文中的创新点,然后介绍你的项目
    我就把论文中的等几何分析解释给他听 讲到自己也蒙了 科研这种东西要给面试官讲 肯定提前准备好
    然后一些语言基础,一个exe文件的具体运行过程
    MVC的基础底层 这个是我自己挖的坑,他问我你最近看过的一篇技术方面的文章,我本来想介绍下urlroute 但是讲到MVC那里就被问懵逼了
    智力题:一个5L一个6L取3L水,
    面向对象的特点,面试官告诉我其实C语言也是面向对象的 并直接说我的基础不太扎实
    面试官说我iOS时间不长,一直做科研。看论文感觉潜力是有的,但是让他很为难,没做过项目,因为不知道我的技术顶点在哪里。
    你说你看英文论文,有没有最近让你印象深刻的东西! 
     
    最近看了几本书《程序员的自我修养》 《图解http》《图解TCP/IP》
    exe文件那题的答案:原文链接:http://blog.csdn.net/coolmeme/article/details/6001885

    从OS层说起吧。

    OS都有加载程序的功能,一个可执行文件(比如exe,com等)内部都是机器指令(cpu相关的)和数据,所以可执行文件和OS以及编译器是密切相关的,不同的OS下不同的编译器产生的可执行文件都不尽相同。不同的平台上其格式大概有elf,pe,coff等。大致都是段的形式来表示。而OS的功能就是读懂这些文件然后完成从磁盘文件到内存的映射工作,也就是适当的时候把文件的内容搬到内存适当的位置;

    OS加载的过程就是进程创建的过程,进程创建完毕后,会找到“入口函数”去执行;

    进入入口函数后就等于进入了运行库,因为入口函数就是运行库的一部分;

    入口函数开始初始化运行程序和程序的运行环境,比如堆的初始化,I/O初始化,线程的准备,全局变量等的初始化;

    下一步就进入程序的主体,也就是调用main函数部分。

    main函数执行结束后又回到入口函数,此时入口函数要进行一些清理工作。

    清理完成后执行一个系统调用来kill掉进程。

    OK,一个可执行文件的整个执行周期就结束了。

    对于c语言,运行库叫crt(c runtime),linux下的crt为glibc,它的程序入口函数为_start,是由汇编语言实现的,包含在crt1.o这个目标库文件里。在windows下crt为msvc crt,它的入口函数是mainCRTStartup。对于每个程序,链接过程都会给你的可执行程序加进一些运行库目标文件,这样才保证你的程序是一个独立的可执行体。正式这些“额外”的代码把你的main函数调用起来的。

    一般在链接程序的时候须指定入口函数名。

    下面的一个回复:

    可执行文件是由我的代码 经过编译-连接-生成出来的
    链接过程是加入一些运行库文件.dll以保证程序是独立的可执行体,运行库里面一般是一些头文件中常用到的函数,还包含有入口函数,windows下它叫crt
    所以生成可执行文件就和我的编译器有关,所以说编译器不是世界统一的,一种语言在不同的公司会有不同的编译器,而且有不同的版本,所以虽然大体的一个编程语言是不变的,可其中多少因为编译器的问题而有所出入
    OS和编译器共同作用产生自己的可执行文件,而可执行文件里面都是机器指令,也就是比汇编还低层的最高效率的语言
    然而机器指令还是根据OS的不同而在执行上有所差异(是说是不同OS只能读适合自己的机器指令吗?),否则万物皆可移植。
    而后OS读取可执行文件中的机器指令,创建进程,找到入口函数,找到main函数,所有机器指令执行完毕,返回入口函数,杀进程。
    再谢前辈写的这篇文章,望回复。

  • 相关阅读:
    php中常用的字符串函数,大全了
    php写的验证码实现方法
    简单的php做的一个验证码生成方案
    ActiveMQ+SpringMVC+Maven应用示例
    zookeeper简单操作
    zookeeper基本概念及原理
    zookeeper 事务日志与快照日志
    activeMQ安装与测试
    activeMQ "HelloWorld"实现
    JMS基本概念
  • 原文地址:https://www.cnblogs.com/zhuyaguang/p/5511711.html
Copyright © 2011-2022 走看看