VIA笔试收集与解答

1.静态数据函数和非静态数据函数的区别,如何调用静态数据函数?
静态数据、函数属于整个类,为该类所有对象共享;
调用:可以用对象,也可以直接用类名

2.多态,继承,数据封装的概念。
多态:
继承:
数据封装:
3.动态,静态类型转换的概念,显示和隐式类型转换得概念

4.STL的概念,写一个LIST类
Standart Template Library
Template <Typename T>
class LIST
{
//...
}
5.访问一个数据库的文件,写一个访问数据库文件的CACHE机制。

6.C++中的struct和C中的struct有什么不同,C++的结构和类有什么不同
C++中struct增加了访问权限,且可以和类一样有成员函数
C++的结构体和类,除了默认的访问权限不同外,无任何不同

7. 为什么C++中调用C编译后的函数,必须使用EXTERN C
这是因为name mangling的问题

8. 数据对齐的概念
9. bss.text,data段的概念
机器码的分段存储
.bss 未初始化的数据段
.text 代码段
.data 初始化的数据段

10.描述new和delete的实现流程和机制
11.是否写过shell script程序,写一个简单示例
写过

# !/bin/sh

File
= " VIA "
read  line  <   $File
sum
= 0
for  num in  $File do
sum
= $(expr  $num   +   $sum )
done
echo 
$sum


12.什么是framework,写出你熟悉的frame机制,写出MFC中的message_map的message/event的实现机制.


13.看一些递归程序的结果

14,UNION,嵌套struct,struct中还有char b:4, char a:2之类的东西,然后UNION test =[b=(char)(OX55)]结果
!!!复习UNION
15.虚基类的概念,有什么作用,举出一个平时设计的例子来
只提供接口,不可实例化

16.快速排序算法的原理,简述流程或者编程说明

#include  < iostream >
using   namespace  std;

int  split( int  arr[],  int  lo,  int  hi)
{
    
int  pivot  =  arr[lo];
    
int  pivot_pos  =  lo;
    
int  i  =  lo + 1 ;

    
while (i  <=  hi)
    {
        
if (arr[i]  <  pivot)
        {
            pivot_pos
++ ;
            swap(arr[i], arr[pivot_pos]);
        }
        i
++ ;
    }

    swap(arr[pivot_pos], arr[lo]);
    
return  pivot_pos;
}


void  QuickSort( int  arr[],  int  lo,  int  hi)
{
    
if (lo  >=  hi)
        
return ;

    
// divide
     int  pivot_pos  =  split(arr, lo, hi);

    
// conquare
    QuickSort(arr, lo, pivot_pos - 1 );
    QuickSort(arr, pivot_pos
+ 1 , hi);

    
// combine
    
// no need

}

int  main()
{
    
int  arr[ 10 =  {  20 5  ,  9 13 10 56 8 4 65 15 };
    QuickSort(arr, 
0 9 );
    
for ( int  i = 0 ; i < 10 ; i ++ )
    {
        cout 
<<  arr[i]  <<   "    " ;
    }

    system(
" PAUSE " );
    
return   0 ;
}

 

17.是否知道函数指针,写出一个排序的模板,里面调用函数指针用来实现比较的功能.
template <Typename T>
void sort(T *arr, size_t len, bool (*pfCompare)())
{
//...
}


18.打印出100以内的所有质数.

#include  < iostream >
#include 
< cmath >
using   namespace  std;

bool  IsPrime( int  n)
{
    assert(n
> 0 );
    
for ( int  i = 2 ; i  <= static_cast < int > (sqrt(n)); i ++ )
    {
        
if (n % ==   0 )
     
return   false ;
    }
    
return   true ;
}

void  print_prime( int  n)
{
    
for ( int  i = 1 ; i <= n; i ++ )
    {
        
if (IsPrime(i))
            cout 
<<  i  <<   "   "  ;
    }
}

int  main()
{
    print_prime(
100 );

    system(
" PAUSE " );
    
return   0 ;
}

 

19.你熟悉哪种RTOS,并指出RTOS的特点.
uC/OS2

-----------------------------------------------------------------------------------
1, 三组程序,找出错误,如果有的话.
    1> a.c   long   temp[255];
         b.c    extern  *temp;
    2>a.c    long   temp[255];
         b.c   extern   temp[256];
    3>a.c    long   temp[255];
         b.c   extern   temp[];
2, 在第一个声明处编译出了奇怪的错误,为什么?
    #include <stdio.h>
    #include "myfun1.h"
    #include "myfun2.h"
    int myInt1;
    int myInt2;

3, printf("0x%x", (&0)[-1]);  请问打印了什么?

4, #define offset(s,c) 同intel的题.

5, 汇编,用ax,bx,cx,dx, 求1000*1000/30(四舍五入), 结果放在ax中.

6, 编最优化Bubble(int *pIntArray,int L),要求:交换元素不能用临时变量,如果有序,需
要最优.

7,     1,2,3,4,5,6,7,8,9从栈里出来的可能性. (略)
8,    求一个struct的sizeof.(略)
这两题没太大难度.

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IQVIA是一家全球领先的健康数据科技公司,他们在招聘中可能会要求应聘者进行Python编程笔试。Python是一种简单易学的编程语言,被广泛应用于数据分析、人工智能等领域。 针对IQVIA的Python笔试,首先应该熟悉Python的基础语法,包括变量、数据类型、条件判断、循环等。另外,了解Python的常用库,如NumPy、Pandas、Matplotlib等,对于完成一些数据分析和可视化任务很有帮助。 在笔试中,可能会要求应聘者编写一些对数据进行理和分析的脚本。这些脚本可以包括读取文件、统计数据、过滤数据、计算指标等操作。应聘者需要熟悉Python的文件操作、列表和字典的使用,以及常用的数据理和分析方法。 此外,对于一些基本的算法和数据结构,如排序、搜索、栈和队列等,也需要有一定的了解。在笔试中可能会要求应聘者编写一些算法的实现或者解答一些与算法相关的问题。 在准备IQVIA的Python笔试时,可以通过练习一些相关的编程题和算法题来提高自己的编程能力。同时,可以学习一些常用的Python库和工具,如Scikit-learn、TensorFlow等,以便在数据分析和机器学习方面有一定的应用能力。 总而言之,IQVIA的Python笔试需要应聘者具备扎实的Python编程基础和数据理能力。通过练习和学习相关知识,应聘者可以提高自己的编程能力,从而在笔试中取得好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值